请高手帮我解决一下这道题,谢谢!

若程序执行时的输入数据位“2473”,则下列程序的输出结果为()#include<stdio.h>voidmian(){intcs;while((cs=getchar()... 若程序执行时的输入数据位“2473”,则下列程序的输出结果为( )
#include<stdio.h>
void mian( )
{
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

请简略的说一下过程,谢谢!!
展开
 我来答
songwanqiang
2010-07-27 · TA获得超过2399个赞
知道小有建树答主
回答量:603
采纳率:0%
帮助的人:934万
展开全部
输入2473后,然后C保存到缓存区中。而循环实际上执行了四次,分别读入'2','4','7','3'。
第一次:
读入'2',cs-'2'为0;这是执行case 0,case 1,case 2一直到break。case 1和case 2都输出'2'+4也就是字符'6'。
第二次:
读入'4',cs-'2'为2;这是执行case 2一直到break。case 2都输出'4'+4也就是字符'8'。
第三次:
读入'7',cs-'2'为5;这是执行cdefault。输出'7'+2也就是字符'9'。
第四次:
读入'3',cs-'2'为1;这是执行case 1,case 2一直到break。case 1和case 2都输出'3'+4也就是字符'7'。

总起来看,第一次输出66,第二次输出8,第三次输出9,第四次输出77。
所以结果就是668977,答案是A。
365524764
2010-07-27 · TA获得超过241个赞
知道答主
回答量:197
采纳率:0%
帮助的人:204万
展开全部
cs-'2'的值依次是0 2 5 1
0时 执行case 0 1 2 输出 66
2时 执行case 2 输出 8
5时 执行default 输出 9
1时 执行case 1 2 输出 7 7
所以结果就是AA
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式