#include
void main()
{
char a,b,c;
a=getchar();
b=getchar();
c=getchar();
printf("%d%d%d",a,b,c);
}
我知道windows系统当我敲下enter键后会输入两个字符'\r''\n',
我的问题是:当我输入一个字母字符后敲下回车光标在后面闪烁并不会换行,
但当我输入一个数字字符后敲下回车键光标会在下一行闪烁,字母字符和数字字符有什么不同吗?
没有什么本质的区别,都是ASCII码,只是字母和数字是可见的,空格和换行是不可见的。getchar这个函数的特点是,它可以读取换行符“\n”,scanf就不行。控制台输入是以回车作为结束标志的而但getchar会读取回车,它是没法分辨,这个回车到底是作为字符输入,还是作为输入结束的标志。一般不会用getchar函数读取字符的,除非要读取回车字符,那么如何做到既能读取一个回车又能顺利结束输入呢?你可以再多加一行代码getchar。比如你上面的代码,在c=getchar后面还要加一行getchar。