HIAUTHUR
2015-12-24 07:04
采纳率: 75%
浏览 2.0k
已采纳

关于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就可以将其回收,而不是再次从键盘输入一个字符。。。

感激不尽。。

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • mifit 2015-12-25 06:27
    已采纳

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

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • John_ToString 2015-12-24 07:52

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

    评论
    解决 无用
    打赏 举报
  • beaconD 2015-12-24 08:05

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

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题