A-A+
有下列程序: #include voidmain() { intx=8;
问题详情
有下列程序: #include<stdi0.h> voidmain() { intx=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
D。【解析】x--后缀表示先用x的值再令x减1,--x前缀表示先将x减1,再执行程序,则输出(X--)继续下一次循环,输出“8,”,此时x自减值变为7,执行x--,x=6,x%3=0,后面语句不执行,执行语句“printf("%d,",--x);”,输出“5”,继续for循环中的x--,得到x=5,输出“5”;判断x%3为真,输出“4”,执行两次x--后,x=2,执行“{printf("%d",x--);cotinue;}”后,输出“2”;然后执行两次x--后,x=0,不符合“x>0”,循环结束。