写出下列程序的输出结果______。 main() { int n=0; while(n++<=1) ; printf("%d,",n); printf("%d",n++); }

admin2010-09-05  22

问题 写出下列程序的输出结果______。
   main()
   {    int n=0;
   while(n++<=1) ;
   printf("%d,",n);
   printf("%d",n++);
   }

选项

答案3,3

解析 本题在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。
转载请注明原文地址:https://kaotiyun.com/show/m4Wp777K
0

最新回复(0)