C语言程序读结果,要过程,急!!

#include<stdio.h>main(){intc;while((c=getchar())!='\n'){switch(c-'2'){case0:case1:put... #include <stdio.h>
main()
{
int c;
while((c=getchar())!='\n')
{
switch(c-'2')
{
case 0 :
case 1 :putchar(c+4);
case 2 :putchar(c+4);break;
case 3 :putchar(c+3);
default :putchar(c+2);break;
}
}
printf("\n");
从第一列开始输入数据:2473<CR>.输出结果是多少?答案是668977…希望有详细过程…谢谢
展开
 我来答
百度网友fb38a9c
2009-09-04 · 超过26用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:68.1万
展开全部
你用下面代码运行一下会明白的:
#include <stdio.h>
void main()
{
int c;
while((c=getchar())!='\n')
{
printf( "\n%d\n" , c-'2' );
switch(c-'2')
{
case 0 :
case 1 :putchar(c+4);
case 2 :putchar(c+4);break;
case 3 :putchar(c+3);
default :putchar(c+2);break;
}
}
printf("\n");
}

其实2473是四个字符
字符 2 减去2 为0 这是运行case 0 1 2
结果输出66
字符 4 减去2 为2 运行case2 输出8
字符7 减去2 为5 这是运行defualt 输出9
字符3 减去2 等于1 执行case1 2 输出77

全部过程就是这样 不知道说明白没!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
求知的一毛钱
2009-09-05
知道答主
回答量:77
采纳率:0%
帮助的人:23万
展开全部
先输入一个字符WHILE是判断它是否是\N的,如果是就不参加循环 ,不是就进行c-'2',如果它等于零就直接跳出,等于1就让c加4,让后接着参加case2的c+4,最后跳出。如果等于c-2直接等于2就直接算case2的算法。c-2等于3就算case3的,让后接着算default的算法,如果c-2不等于0,1,2,3就直接算default的算法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hutulaozi
2009-09-02
知道答主
回答量:21
采纳率:0%
帮助的人:0
展开全部
在键盘上输入,遇到回车结束,然后也就是ASCII值传给了C,然后根据这个C的值减去2,在switch语句里选择。
遇到break退出!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
高金山
2009-09-02 · TA获得超过1万个赞
知道大有可为答主
回答量:4101
采纳率:0%
帮助的人:1675万
展开全部
要过程,你单步跟踪啊!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式