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] ...