我很困惑..打印出第一个c,即1,然后c变为2然后它应该打印c,这是2 .. int c = 1;
while (c<=10)
printf("%d\n", c);
c = c + 1;
while (c<=10)
{
printf("%d\n", c);
c = c + 1;
}
答案 0 :(得分:3)
当While循环后面没有
{
}
下一个语句只被认为是循环的一部分 所以你的代码运行while循环无限期地打印c的值,因为while循环运行的条件总是为真 用大括号括起print和increment语句!
答案 1 :(得分:0)
这是因为缩进块周围没有花括号,所以只有printf
是while的一部分。
答案 2 :(得分:0)
对于没有大括号的while循环,它在while循环后需要单个语句。
所以在第一个while循环中,while只接受printf语句。
如果它括在括号中,则将其作为语句块。如果没有括在括号中,则只需要一个语句。
因此,它不会增加C的值。
答案 3 :(得分:0)
这是因为如果你不使用{}只在第一行使用while applis,那就是你有类似的东西
while (c<=10)
printf("%d\n", c);
c永远不会改变并且循环永远运行
答案 4 :(得分:0)
您只是循环遍历print语句,并且变量没有增加。
c = c + 1;
未被召唤。 { }
定义while循环的范围而不是制表符。
答案 5 :(得分:0)
变化:
while (c<=10)
printf("%d\n", c);
c = c + 1;
为:
while (c<=10){
printf("%d\n", c);
c = c + 1;
}
原因是如果在while之后没有括号,则只执行它后面的第一条指令。