因为while循环体后面加了分号;
也就是空语句的意思,什么都没有执行。
这里使用空语句,是因为只需要执行循环判断条件,让n自增。
涉及到的点
1.什么是循环体?循环体空语句是什么?
循环体空语句,顾名思义,就是循环体中什么语句都没有。
2.i++
那么这道题实则考察的是i++判断问题
先理解i++ 和 ++i区别
i++和++i叫做一元运算符
int i = 0;
以 if(i++ > 0) 和 if(++i >0) 为例
i++是先判断,后累加
相当于先用i与0进行判断,判断后再运行i=i+1的操作
++i是先累加,后判断
相当于先运行i=i+1,再用运算之后的i与0进行判断
再回归到题目上
int n = 0;
while(n++<=2)
{
}
第一次循环n =0; 0<=2 无法跳出循环,n=n+1,n=1;
第二次循环n =1; 1<=2 无法跳出循环,n=n+1,n=2;
第三次循环n =2; 2<=2 无法跳出循环,n=n+1,n=3;
第四次循环n =3; 3<=2 跳出循环,n=n+1,n=4;
所以这道题的最终结果得到4
如果回答对你有帮助,希望您能给我一个采纳。
以下面的代码为例:
int sum = 0;
for(int i = 0; i<10;i++)
{
sum += i;
}
在上面的例子中,{sum += i;}就是for循环的循环体。
如果改一下代码:for(int i = 0;i<10;i++); 这样,在for()后面加上分号以后,{sum += i;}这个代码段就跟for循环没有关系了,这个for循环就没有循环体。
同理,int i = 0; while(i++ < 10); 在while()的后面加上分号以后,这个while循环也没有循环体。
如有帮助,请帮忙采纳一下,谢谢。
也就是说这个循环体条件满足后什么也没干,但由于前面有一个n++,所以n得值加了一。n=3是,循环结束,n++ = 4,所以输出4