为什么给i赋值为0时输出结果是1,而给i其他值时为期望结果11
#include<stdio.h>int main()
{
int i=0;
while(i++)
{
if(i>10)
{
goto Z;
}
}
Z: printf("i=%d\n", i);
return 0;
} 当i为0时,注意while循环的条件是i++,
也就是说,它会先判断i,然后再++
i为0,所以会退出循环,但++操作还是会执行的
当i为别的值时,循环到了i = 11,这时候在内层的if语句判断,并退出循环
i=10的时候是不会退出循环的 qiuyouzhi 发表于 2021-2-2 17:38
当i为0时,注意while循环的条件是i++,
也就是说,它会先判断i,然后再++
i为0,所以会退出循环,但++操 ...
为啥i为0就会退出循环呢?{:5_107:} HaibaraA1 发表于 2021-2-2 18:40
为啥i为0就会退出循环呢?
基础知识呀
0为false,while循环时,只有条件为true才会继续循环 qiuyouzhi 发表于 2021-2-2 18:42
基础知识呀
0为false,while循环时,只有条件为true才会继续循环
ok谢谢!{:5_102:}
页:
[1]