int i=0;while(i++<=2);printf("%d",i)为什么是4啊

楼主想一想:
如果中间的循环改成
while(i<=2)
i=i+1;
那么应该输出什么呢?
对,应该是3。
原题目是每进行一次比较,不管比较结果时true或false,i都自增1;而后来我改的那个是,进行一次比较,并且比较结果为true时,i才自增1。
所以当程序执行完
while(
3++
<=
2
)
;时i的值依然会自增1,变成4。
这样是不是好理解了呢。

扩展阅读:int s 10 while s ... int a[10] ... int k 1 while k ... int a=0 ... int m 20 while m 0 ... int a[3][4] ... int count=0 ... int a=2 ... int a[2][3] ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网