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

时间:2015-02-07 13:01:28

标签: c++ arrays function pointers

有人可以向我解释如何调用以下函数来查找数组的长度吗?谢谢!

int len(char* s)
{
    int k = 0;
    while (*s)
    {
        k++;
        s++;
    }
    return k;
}

2 个答案:

答案 0 :(得分:2)

  

"任何人都可以解释我如何调用此函数来查找数组的长度?"

你可以这样称呼它

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

答案 1 :(得分:1)

此函数无法帮助您找到任何数组的长度 - 只有一些非常具体的数据:

  • 它必须是char
  • 的数组
  • 除了最后一个
  • 之外,它的所有元素都需要非零值
  • 数组的最后一个元素必须为零。

在执行此操作时,会创建类似的C数组:

char array[] = "12345";

这是一个六元素字符数组,其中五个初始元素由非零字符代码占用,第六个元素占用零。

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

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