C++程序问题,求帮助?

来源:百度知道 编辑:UC知道 时间:2024/06/20 06:10:02
#include<iostream.h>
void main()
{
int i=0;
char s[]="good morning!";
while(s[i])
i++;
cout<<"String length="<<i<<endl;
}
输出结果是 String length=13
帮我分析一下,这是这么运算的啊?谢谢了

这是个求字符串长度的程序。里面有个循环,当有字符时,循环就进行一次,从而使记数变量i自加1,这样,当没有字符时,循环就结束,这样就能统计出字符的个数,就得到了字符串的长度了~~~~~~~~

是求字符长度的

循环计算 just soso

c语言中的字符串是以 NULL 结尾的,while循环从字符串的第一个字符开始检查,如果被检查的字符不是 NULL 也就是说没有到达字符串尾,则将i的值增加1,然后检查下一个字符s[i]……
最终i中保存了字符串中字符的个数(不含最后的NULL)。

while(s[i]) 即s[i]为真进行循环,
遍历字符串后,i大于s[]的,出错,为假,跳出循环
这时i比s[MAX]的MAX大1,由于数组从0开始计算,所以i正好等于数组的长度