0 ) { switch(s) { case 1: printf("%d", s+5); case 2: printf("%d", s+" />有以下程序 #include main() { int s; scanf("%d", &s); while( s>0 ) { switch(s) { case 1: printf("%d", s+5); case 2: printf("%d", s+

有以下程序 #include main() { int s; scanf("%d", &s); while( s>0 ) { switch(s) { case 1: printf("%d", s+5); case 2: printf("%d", s+

admin2015-07-28  17

问题 有以下程序
#include
main()
{ int s;
scanf("%d", &s);
while( s>0 )
{ switch(s)
{ case 1: printf("%d", s+5);
case 2: printf("%d", s+4); break;
case 3: printf("%d", s+3);
default: printf("%d", s+1); break;
}
scanf("%d", &s);
}
}
运行时,若输入1 2 3 4 5 0<回车>,则输出结果是( )。

选项 A、6566456
B、66656
C、66666
D、6666656

答案A

解析 程序的循环条件是s>0,也就是不断读入数据并存放到s中直到输入的数据为非正,循环体的switch语句会判定s的值,然后选定一个case作为执行入口,不断向下执行直到遇到break;,易知s为1时,输出s+5和s+4的值;s为2时,只输出s+4的值;s为3时输出s+3和s+1的值;其他情况输出s+1的值,答案选A。
转载请注明原文地址:https://kaotiyun.com/show/FOJp777K
0

最新回复(0)