c语言,输出结果,看不懂循环终止条件?

2025-03-10 07:20:40
推荐回答(4个)
回答1:

这个循环的终止条件是这样的,
因为 c=string[i] ,这里是赋值,不是判断,所以是赋值之后看赋值结果是不是0,决定是否继续循环。

当循环到字符串最后一个字母 ?之后,下一次循环的时候,赋值给 c的是字符串结束标记 ‘\0' 这个东西其实就是 NULL 也就是0 也就是 C就等于0了,那么循环就不用继续了。

回答2:

c=string[i]作为for循环退出的判断条件,其实是吧 这个语句当作是一个返回 true 或者false的表达式来使用的,该语句是个赋值表达式,其实是判断 c是否为0.按照上面的给string数组赋值之后,该数组81个字节长度,除了存放 how are you?的部分都被初始化为0(sacii码的0,也就是\0字符),所以当在读到问号的下一次该判断返回false,退出。

回答3:

最多到81,然后当c里的字符串统计完循环结束

回答4: