注意getch()是从console读取,(非标准函数)
getch()需要的头文件是<conio.h>。
而getchar()是从stdin,一般是指键盘
windows平台下ENTER键会产生两个转义字符
,
: 回到开头的地方。
: 去到下一行开头
因此,getch()读到
时就会返回他的ASCII码13。(后面的被无视了)
奇怪的问题是为什么getchar()会返回10呢?
前面不是说过返回第一个字符吗?
这的确会让人费解。实际上产生这个结果的原因是,
getchar()把输入的
转换成了
,
所以返回的是
的ASCII码 10。为什么会这样呢?
因为前面说过getchar()是C语言标准库函数,
而在unix系统中ENTER键只产生
。顺便说一下,
在MAC OS中ENTER键将产生
,同样也会被替换成
。
这样,不管在什么平台下,getchar()都会得到相同的结果,
所以说getchar()标准库函数。
http://www.cnblogs.com/candyming/archive/2011/11/25/2262877.html