C++ 使用此函数查找数组的长度

C++ 使用此函数查找数组的长度,c++,arrays,function,pointers,C++,Arrays,Function,Pointers,有人能告诉我如何调用下面的函数来计算数组的长度吗?谢谢 int len(char* s) { int k = 0; while (*s) { k++; s++; } return k; } “有人能解释一下如何调用此函数来查找数组的长度吗?” 你可以这样称呼它 char* array = "Hello World!"; int length = len(array); 此函数不会帮助您仅查找任何数组的长度-仅查找一些非常

有人能告诉我如何调用下面的函数来计算数组的长度吗?谢谢

int len(char* s)
{
    int k = 0;
    while (*s)
    {
        k++;
        s++;
    }
    return k;
}
“有人能解释一下如何调用此函数来查找数组的长度吗?”

你可以这样称呼它

char* array = "Hello World!";
int length = len(array);

此函数不会帮助您仅查找任何数组的长度-仅查找一些非常特定的数组:

  • 它需要是一个字符数组
  • 除最后一个元素外,它的所有元素中都需要非零值
  • 数组的最后一个元素必须为零
在C中,这样的数组是在执行以下操作时创建的:

char array[] = "12345";
这是一个六元素字符数组,五个初始元素由非零字符代码占据,第六个元素由零字符代码占据

现在算法变得清晰了:计算元素直到达到零,在计数中包含零,然后返回结果:

char array[] = "12345";
int res = len(array);

如何调用该函数?写入
len(s)
其中
s
是指向字符数组的指针。此函数不能告诉您数组的长度。它看起来像是strlen()的一个(糟糕的)替代品,它提供了C样式字符串的长度。使用C风格字符串是学习C++时首先要解决的问题……这正是我所要寻找的!谢谢