为了账号安全,请及时绑定邮箱和手机立即绑定

一个程序,输入2473<回车>,结果是668977,谁能解释一下吗?

一个程序,输入2473<回车>,结果是668977,谁能解释一下吗?

交互式爱情 2022-12-22 13:09:44
#include<stdio.h>main(){char 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");return 0;}
查看完整描述

2 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

原式应该是这个吧while(getchar()!=‘\n’)n++
这是循环结构中的循环条件,作用是用来计算你从键盘输入的所有字符的个数(字符数量),①"getchar()"是从键盘输入的意思,你可以从键盘输入很多字符,但这是一个循环条件,怎样设置条件呢,就设置为②当我们敲键盘上的回车键enter的时候("!=‘\n’",\n换行,相当于enter,"!=‘\n’"非换行,即没按enter的时候它继续循环,你输入一个字符,n它就自己加1记录,这一部分的意思就是这样,或许我们看不懂就是这一段吧),③n++按课本的意思是"循环体n++用来对输入字符的个数计数",就是这么神奇ԅ(¯ㅂ¯ԅ),更通俗一点就是,你每从键盘输入一个字符,n它就自增1来计算你输入了多少个字符...

查看完整回答
反对 回复 2022-12-25
?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

while((c=getchar())!='\n')的意思是:一直循环,等到用户输入回车为止,结束循环。

当程序调用getchar时,程序就等着用户按键。用户输入的字符被存放在键盘缓冲区中。直到用户按回车为止。当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符。getchar函数的返回值是用户输入的字符的ASCII码,若文件结尾则返回-1(EOF),且将用户输入的字符回显到屏幕。

(c=getchar())!='\n'表示的条件语句意思是:判断用户的输入字符不是'\n',即回车,只要用户输入的不是回车,while循环就会一直执行。

查看完整回答
反对 回复 2022-12-25
  • 2 回答
  • 0 关注
  • 96 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信