为什么输出是4.不是3。

知道后面是空语句,不做啥,但是循环条件不满足就不执行循环体,条件本身要执行的?谁能分步骤讲讲,感谢大家。

img

第一次,c=0的时候先判断c++<3(由于是后置++,此时c=0的),条件成立则进入循环(此时第一次判断结束后,c的值为1);
第二次,,
第三次,c=2的时候,先判断c++<3(后置++,此时c还是2),判断成立即判断结束后(c=3)
第四次,注意,此时c=3,c++<3,(3<3不成立),判断之后,不进入循环,判断结束后,c值增加到4,
所以最后打印4。
综上,打印四十因为最后一次判断的时候c++是3,判断之后自增为4。

c++<3是先用c当前值进行条件判断,然后c再加1。因为当c=3时,while条件不满足,结束循环。然后c++使得c加1等于4

条件本身肯定是要执行的,要不然他怎么知道符不符合运行条件
顺带一提这道题里在while里面直接用自增运算符判断是一种非常不好的编程习惯,自己写代码的时候不要这么写

条件本身如果不执行,那不是标准死循环吗

循环三次,判断四次