A-A+
写出下列程序的输出结果______。 main() { int n=0; while(n++
问题详情
写出下列程序的输出结果______。 main() { int n=0; while(n++<=1) ; printf("%d,",n); printf("%d",n++); }请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:33
本题在while(n++<=1”语句后,直接加了分号,说明如果while()的条件为真时,该循环什么都不做;n++是先取n的当前值和1做比较,然后再将n加1。第一次循环,n=0时,循环条件n++=0<=1成立,执行循环,然后得到n=1。第二次循环,n=1时,循环条件a++=1<=1成立,执行循环,然后得到n=2。第三次循环,n=2时,循环条件n++=2<=1不成立,不执行循环,但在判断循环条件时仍将n加1,得到n=3。退出循环后执行printf语句,第二个printf语句输出n++,是先输出n的当前值3,然后再将n加1,即程序结束后得到n=4,但输出的是3。