永发信息网

C语言问题..

答案:4  悬赏:30  手机版
解决时间 2021-07-25 02:25

#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");
getch();
}

输入2473 答案怎么来的。。一步一步解释下行不

最佳答案

输入2的时候:


c-'2' = 0


所以从case 0开始执行,直到break;所以输出两个6


输入4


c-'2' = 2


从case 2开始执行,直到break;所以输出8


输入7


c-'2' = 5


但是case段里没有符合的数,所以从default开始执行,直到break;输出9


输入3


c-'2' = 1


从case 1开始执行,直到break;所以输出两个5


最终的结果是668955

全部回答

同意楼上" 蓅"逝朩颩" 所说,代码有问题,达不到预期效果

你这个程序是获得一个字符 ,只保存第一个数字,比如你先输入2后循环开始因为你用getchar() 这个是获取一个字符的函数。。所以你获取的字符就是'2' 减去'2' ,2的ASCII码是50,就等于0 所以执行case 0:语句,由于没有break语句,他会一直向下执行,直到遇到break跳出switch 所以。2就输出 102102

2: 程序进入case 0: 执行如下内容直到break; case 0:case 1:putchar(c+4);case 2:putchar(c+4);break

4:程序进入case 2: 执行 putchar(c+4);break; 7:程序进入 default:putchar(c+2);break

3:程序进入 case 1:putchar(c+4);case 2:putchar(c+4);break;

结果:668977

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
李小龙,杰克逊和乔丹,从全球的影响力和知名度
醉玲珑经典语录缸,找一本小说,醉玲珑,不是
红色长款卫衣佩什么鞋子跟底裤好看?
小寒节气谚语,三九有哪些谚语?
KB938127怎么才能安装上去啊
函数是它的定义域到值域的映射
有没保证辅助不掉的办法?
新蒙迪欧和雅阁哪个好,买新蒙迪欧保值吗?另
要学做游戏技术 要去哪
怎么才能快速提高弹跳?
“协助总经理经营管理公司以及处理各项事务”
和他分手了,又放不下他,怎么办?
抢车位要怎样才能快赚钱?
哀江南赋序名句,描写江南夏天的句子
郝 怎样的爱才是算是真正的爱呐?迷惘中
推荐资讯
相思为何会痛彻心扉?
能不能一次向所有QQ好友发信息?
SM 公司共培养过多少组合??
梦幻诛仙组队时我怎么显示暂离状态,不能组队
婚前婚后的男人为什么就不一样?
周杰伦什么时候从美国回来?(不是休息,是拍
香港卡迪技术中药美容配方那有出售?
地下城等级分化
好好学习的目的是什么
江北机场23点到24点有回上清寺的吗
黄豆应该煮成怎样榨出来的豆浆才好喝,没有豆
一个男孩为一个女孩坚持做几个月同样的事 这
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?