【发布时间】:2017-10-18 09:26:31
【问题描述】:
我正在尝试创建一个确定数组长度的函数。我的代码不起作用,请帮助!
#include <iostream>
using namespace std;
int ArrayLength(int Array[])
{
int i = 0;
while (Array[i] != NULL)
{
i++;
}
return i;
}
int main(void)
{
int test[5] = { 4,5,6,7,1 };
int testLen = ArrayLength(test);
cout << " test length = " << testLen;
return 0;
}
【问题讨论】:
-
数组不是这样工作的。不能保证最后一个元素旁边的元素是 NULL,恰恰相反,它可以是任何东西。
-
当读取超过数组长度时,值不是
0,而是未定义的行为。它可能有任何价值或使程序崩溃。