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

admin2010-05-22  12

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

选项

答案3,3

解析 本题在while(n++<=1)语句后,直接加了分号,说明如果while()的条件为真时,该循环什么都不做;n++是先取n的当前值和I做比较,然后再将n加1。第一次循环,n=0时,循环条件n++=0<=1成立,执行循环,然后得到n=1。第二次循环,n=1时,循环条件n++=1<=1成立,执行循环,然后得到n=2。第三次循环,n=2时,循环条件n++=2<=1不成立,不执行循环,但在判断循环条件时仍将 n加1,得到n=3。退出循环后执行printf语句,第二个printf语句输出n++,是先输出n的当前值3,然后再将n加1,即程序结束后得到 n=4,但输出的是3。
转载请注明原文地址:https://jikaoti.com/ti/rEI0FFFM
0

最新回复(0)