C语言 从键盘键入2473<回车> 则下面程序的运行结果是

#include<stdio.h>main(){intc;while(c=(getchar())!='\n')switch(c-'2'){case0:case1:putc... #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");
}
答案是668977
整个这个程序我就没看明白 麻烦帮我详细讲解下每步的计算过程

为什么 2 4 7 3 每个数都取一次 执行 c=getchar()的时候不是只去2 然后就截取结束了 进入计算了么
展开
 我来答
佴问08f
2010-12-30 · TA获得超过707个赞
知道小有建树答主
回答量:268
采纳率:0%
帮助的人:259万
展开全部
程序while(c=(getchar())!='\n')
是读取到回车后才结束。
第一次键入2时,在switch里执行了case 0:
case 1: putchar(c+4);
case 2: putchar(c+4);break;
这三句。

输出668

而且每次键入一个数字或字母时,都会执行一次switch语句。
wind556
2010-12-30 · TA获得超过250个赞
知道小有建树答主
回答量:673
采纳率:50%
帮助的人:277万
展开全部
因为你是while(c=(getchar())!='\n')
意思就是不遇到回车不结束
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式