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

admin2019-12-17  24

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

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

答案D

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

随机试题
最新回复(0)