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

admin2010-09-05  12

问题 写出下列程序的输出结果______。
        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++=<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加l,即程序结束后得到 n=4,但输出的是3。
转载请注明原文地址:https://jikaoti.com/ti/XMI0FFFM
0

最新回复(0)