OK. OK 2019-08-12 17:59 采纳率: 33.3%
浏览 1507
已采纳

关于getchar和回车键的问题

#include
void main()
{
char a,b,c;
a=getchar();
b=getchar();
c=getchar();
printf("%d%d%d",a,b,c);
}
我知道windows系统当我敲下enter键后会输入两个字符'\r''\n',
我的问题是:当我输入一个字母字符后敲下回车光标在后面闪烁并不会换行,
但当我输入一个数字字符后敲下回车键光标会在下一行闪烁,字母字符和数字字符有什么不同吗?

  • 写回答

2条回答 默认 最新

  • shifenglv 2019-08-12 20:22
    关注

    没有什么本质的区别,都是ASCII码,只是字母和数字是可见的,空格和换行是不可见的。getchar这个函数的特点是,它可以读取换行符“\n”,scanf就不行。控制台输入是以回车作为结束标志的而但getchar会读取回车,它是没法分辨,这个回车到底是作为字符输入,还是作为输入结束的标志。一般不会用getchar函数读取字符的,除非要读取回车字符,那么如何做到既能读取一个回车又能顺利结束输入呢?你可以再多加一行代码getchar。比如你上面的代码,在c=getchar后面还要加一行getchar。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?