不能理解.....

来源:百度知道 编辑:UC知道 时间:2024/06/21 19:51:10
char x[]="sjfklajsfklja";
int i=1;
while(x[i])
i++;
这能计算字符串的长度,书上说的,可我就是看不懂啊....
不懂的是这里

while会一直到x[i]==0时才会停止循环,因为字符串中的字符的值就是对应的ASCII码值,每一个字符串都会以NULL结尾,也就是你看到的那些字符串后再加一个NULL,NULL对应的ASCII码值就是0,所以上面可以统计字符串的长度

char x[]="sjfklajsfklja";
int i=0;
while(x[i])
i++;

当 x[i] 成立时 i++ ;

在数组元素 x[i] 存在时, 它成立;然后 i++ 检查下一个元素;
有多少个元素循环就执行多少遍, 就有多少个 i++ ;
所以 i 就正好是数组的长度;