问题 单项选择题

有以下程序: #include<stdio.h> main() {int c; while((c=getchar())!=’\n’) {switch(c-’3’) {case 0: case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); case 4:putchar(c+3);break; }} printf("\n");} 从第一列开始输入数据(<CR>代表…个回车符):3845<CR>,则狴序输出结果为( )。

A.77889

B.77868

C.776810

D.77886610

答案

参考答案:A

解析: 题中while循环的条件是:当从键盘读入的字符不是’\n’时,执行while循环。 输入第一个字符3时:执行case 0,什么也不输出;case 1,输出7;case2,输出7;遇到break语句,跳出switch语句。输入第二个字符8时;c-’3’=5,不执行任何语句。输入第三个字符4时:c-’3’=1。执行oase 1。输出8;case 2,输出8;遇到break语句,跳出switch语句。输入第四个字符5时:c-’3’=2,执行case 2,输出9;遇到break语句,跳出switch语句。

选择题
问答题 简答题