(20)若程序执行时的输入数据是"2473",则下述程序的输出结果是 #include<stdio.h> void main() { int

(20)若程序执行时的输入数据是"2473",则下述程序的输出结果是
#include<stdio.h>
void main()
{ int cs;
while((cs=getchar())!=; '\n')
{switch(cs-'2')
{ case 0
case 1: putchar(cs+4);
case 2: putchar(cs+4);
break;
case 3: putchar(cs+3); default: putchar(cs+2); } } }
A)668977
B)668966
C)6677877
D)6688766

亲,你这个程序有点问题,while((cs=getchar())!=; '\n') 改 while((cs=getchar())!='\n'); 将不等于号后面的分号删除就好,
最终答案是A,下面是我更改后的程序:
#include<stdio.h>
void main()
{ int cs;
while((cs=getchar())!='\n')
{ switch(cs-'2')
{ case 0 :
case 1: putchar(cs+4);
case 2: putchar(cs+4);
break;
case 3: putchar(cs+3); default: putchar(cs+2);
}
}
}
希望采纳!!!!!!
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-15
题目的目的应该是提醒注意switch的break语句。。。。。。
case 0, case 1, case 3后面没有break所以会继续执行下面的语句直到遇到break
2 -> case 0 -> 66
4 -> case 2 -> 8
7 -> default -> 9
3 -> case 1 -> 77本回答被提问者采纳
相似回答