有下列程序:    #inelude  <stdio.h>    main()    {        int x=8;        for(;x>0;x--)        {            if(x%3) {printf("%d,",x--)

admin2009-08-24  13

问题 有下列程序:    #inelude  <stdio.h>    main()    {        int x=8;        for(;x>0;x--)        {            if(x%3) {printf("%d,",x--);continue;}            printf("%d,",--x);        }    }    程序的运行结果是(  )。

选项 A、7,4,2
B、8,7,5,2
C、9,7,6,4
D、8,5,4,2

答案D

解析 “x--”表示先执行程序,再令x的值减1;而“-x”表示令x的值减1,再执行程序。x=8时,x%2为非0值,执行语句{printtr("%d,", x--); continue;),输出“8,”,此时经过x--,x的值变为7,跳出此次循环;执行x--,x=6,x%3=0,后面语句不执行,执行语句print("%d,",--x);,输出“5,”:执行for语句中的x--,得到x=5,输出“5,”判断x%3,输出“4,”,执行两次x--后,x=2,执行{printf("%d,",x--);continue;}后,输出“2,”;然后执行两次x-后,x=0,不符合“x>0”,循环全部结束。
转载请注明原文地址:https://jikaoti.com/ti/fbI0FFFM
0

相关试题推荐
随机试题
最新回复(0)