单选题
若运行下列程序时,输入以下指定数据,则正确的运行结果是______。
#include<stdio.h>
main()
int i;
while((i=getchar())!='/n')
switch(i)
case '0':
case '1':putchar(i+4);
case '2':putchar(i+4);break;
case '3':putchar(i+4);
default:putchar(i+2);break;
printf("/n");
输入数据(第一列):2473<回车>
A.6688766 B.66975 C.66778777 D.668966
A
B
C
D
【正确答案】
B
【答案解析】
[解析] 在执行switch语句的case时,遇到break语句时,结束当前switch语句,若case语句中无break语句,将接着执行下一个case语句。本题中,输入数据2473后,i的初值为2。执行switch语句时,首先执行“case '2':putchar(i+4);break;”语句,输出字符“2+4”即“6”。当程序第二次进入while循环,i的值被赋为4。执行switch语句时,将执行“default:putchar(i+2);break;”语句,输出字符“4+2”即“6”。当程序第三次进入while循环,i的值被赋为7,执行switch语句时,将执行default:putchar(i+2);break;语句输出字符“7+2”即“9”。当程序第四次进入while循环,i的值被赋为3。执行switch语句时,将执行“case '3':putchar(i+4);default:putchar(i+2);break;”语句,先后输出字符“3+4”即“7”和“3+2”即“5”。由上分析可知运行结果为66975。
提交答案
关闭