int k=0 while(k++<=2);printf(last=%d\n,k)

答案是4我觉得是三,能给我讲解下嘛?谢谢了

你可以把printf语句在while语句中加入,把last去取,执行结果:
1
2
3
last=4
可以看到,k++<=2是先判断再执行
故当k=2时,k++,然后打印出3,当k=3时,不成立,k还要再进行一次++,k=4
由此可以看出++在循环语句的判断条件中,当他成立还是不成立,都会执行一次,只到不成立退出while语句执行最后一次,如果把k++放到while的循环语句中,结果就不一样了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-02-28
1. k == 0; k <= 2; k++; k == 1;
2. k == 1; k <= 2; k++; k == 2;
3. k == 2; k <= 2; k++; k == 3;
4. k == 3; 判断条件 k++<=2不成立,循环退出,k自增,所以k==4
第2个回答  2012-02-28
int k=0 while(k++<=2);
k++<=2是先判断再加加
当k=2的时候是正确的
等于3的时候不成立,然后再加加退出,是4你的理解是对的
printf(last=%d\n,k)
相似回答