关于getchar()和putchar()函数

#include
int main()
{
char cChar1=getchar();
putchar(cChar1);
putchar('\n');
"GETCHAR();"

    putchar(getchar());
     putchar('\n');
     return 0;

}
我的问题就在于程序中,我用大写字母写的那个getchar(这地方只是为了强调才用的大写,真实程序中不是这样的),我看书上的解释是:原来在输入时,输入完A后,为了确定输入完毕,要按ENTER键进行确认。其中的回车符也是字符,如果不尽兴获取,那下一次使用getchar函数时将得到回车符。

这是我困惑的地方,就是getchar函数只可以获取一个字符,上一个getchar获取完一个字符后,按enter键不就结束了,怎么还又多出来一个回车符,这个回车符存在哪儿,为什么在输入一个getchar就可以将其回收,而不是再次从键盘输入一个字符。。。

感激不尽。。

你输入的字符,包括回车,都放在缓冲区了,你getchar一次,获取到一个,那你输入一个字符,按回车,就两个了。

在Windows下ENTER键 包含两个字符 回车(\r)和换行(\n) 而Linux下只有一个字符,具体是谁我忘了。。。

getchar函数每次从缓冲区中得到一个字符,putchar函数每次输出一个字符