C语言中While的一个用法不太理解

while(str[i][count])
++count;

这里WHILE括号里看不懂是要做什么

和下面这个差不多的。这个应该是获取str[i]这个字符串的长度,相当于strlen函数

补充一点
字符串都是有个\0(可以当成是数字0看)的,char str[]="abcdefg"实际上除了abcdefg这7个可打印的字符外,后面还有一个结束标志\0。当读到\0 的时候就相当于是while(0),条件不成立就退出while循环(C语言认非0的数字为true,0为false)

char str[]="abcdefg";
int i=0;
while(str[i])
{
printf("%c",str[i++]);

}追问

括号里的内容没有加减乘除 没有一个条件,只是给出这个 应该怎么理解呢。。
麻烦你了,。

追答

条件已经有了,上面那个while(str[i][count])相当于是while(str[i][count]!='\0')的意思

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-30
根据语句看,str 是一个字符串数组;str[i]代表第i个字符串,str[i][count] 表示第i个字符串中第count个字符(i,count 都是从0开始)。
while( ) 括号中是进入循环条件,当 括号中表达式非0时count自加,当括号中为0时退出。即到str[i]的结尾时退出循环(字符串的结尾是‘\0’, ASCII码值是0),这时count值为字符串包含的字符数,即字符串长度 。
第2个回答  2014-11-30
括号里的str[i][count]只是字符串数组一个值。

while(str[i][count])的意思是:while()是循环语句,当括号内的值不等于0时,就可以执行循环体;当括号内的值为0时,就结束循环。这一句完整的意思就是当str[i][count]的值不等于0时,进入循环体。
第3个回答  2014-11-30
while ( 条件) 执行的语句;
如果条件为零 就结束,不执行下面语句
如果不为零就继续执行。
也就是先判断str[i][count]的值是否为零,为零就结束,不为零就执行++count;直到str[i][count]=0

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网