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

.有以下程序
#include <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

第一次执行if语句输出8,然后x自减变成7,然后执行continue;
第二次x自减变成6;不执行if语句,执行printf("%d",--x);先x自减变为5,然后输出;
第三次执行for循环里面X--;x变为4,执行if里面语句,输出4,再自减变为x=3;
第四次执行for循环中的x自减,变为x=2;执行if语句中的输出2,x自减变为1;
第五次执行for循环x自减,x变为0;循环结束。
总的来说,if函数里面输出执行了第一,三,四次,分别输出的8,4,2,for循环里的输出只有第二次执行了,输出为5。
所以选D
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-12
#include <stdio.h>
main()
{ int x=8;
for( ; x>0; x--)
{
if(x%3)
{
printf("%d, ",x--); cont
}}}
输出8 5 2追问

.有以下程序
#include
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

追答

#include
main()
{ int x=8;
for( ; x>0; x--) //循环结束x自减
{if(x%3)
{printf("%d, ",x--); //x=8时执行这段 输出8 x再自减一 x=7 循环结束 x=6 ;x=4执行这段 输出4 自减 x=3 循环结束再自减 x=2;x=2执行这段 输出2 自减 x=1 循环结束 x=0 退出循环
continue; }
printf("%d, ",--x);//x=6时先自减x=5 输出5 循环结束 x=4
}
}

本回答被提问者和网友采纳
第2个回答  2011-04-11
输出6 3 循环5次追问

.有以下程序
#include
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

追答

a

第3个回答  2011-04-11
D)8,5,4,2追问

求解释

第4个回答  2018-02-09
本题思路:先判断x=8>0成立,再判断8%3=2!=0成立,又因为x--先取x的值,所以第一个输出8,接着x=8-1=7,执行contiune回到for循环语句, x=7-1=6判断x=6>0,又6%3=0,不执行if语句,又--x为先减1再取x,所以输出6-1=5,又回到for循环语句,x=5-1=4,判断4>0,4%3=1执行if语句,输出4,x=4-1=3执行contiune语句回到for循环语句,x=3-1=2>0成立,2%3=2执行if语句,输出2,x=2-1=1回到for循环语句,x=1-1=0.此时for循环语句判断条件不成立,程序结束。
相似回答