C语言函数 您所在的位置:网站首页 enter回车键怎么读 C语言函数

C语言函数

2023-09-27 05:14| 来源: 网络整理| 查看: 265

1.定义:

getchar是读入函数的一种。它从标准输入里读取下一个字符,相当于getc(stdin)。返回类型为int型,为用户输入的ASCII码或EOF。即:getchar()函数实际上是int getchar(void),因此,它会返回 ASCII代码,所以只要是ASCII码表里有的字符它都能读取出来。

2.使用方法:

程序在调用 getchar的时候等待着用户的按键。用户所输入的字符储存于键盘缓冲区。直至用户按回车键为止(回车字符也放在缓冲区中)。在用户输入“回车”后,getchar就会从标准输入数据流中读取一个字符。getchar函数的返回值是用户输入的字符的ASCII码,若文件结尾(End-Of-File)则回-1(EOF),且将用户输入的字符显示。如果用户在按下回车键前,输入多个字符,则会将其它字符留在键盘的缓冲区域,等待后续getchar调用读取。这意味着,接下来的 getchar调用不会等待用户按键,而直接读取缓冲区中的字符(注意键入后的回车键也算一个字符,输出时直接换行),直到缓冲区中的字符读完后,才等待用户按键。

3.注意点: 例:

        出现以上的错误便是因为回车键也算一个字符,题目中在前面先调用scanf()函数读取字符后再调用getchar()函数读取字符,因为想要scanf()调用必须回车才能执行,就多了一个回车在缓存区中且因为回车也算一个字符,所以getchar()就自动读取了缓冲区中的剩余字符(\n)。建议清空缓存区再使用getchar(),不然getchar()会造成错误,把前面回车也读取出来。

正确代码: 

4.总结:

        大多数初学者在接触getchar()时,一般情况下出错的就是对于回车字符的读取。因此调用getchar函数前,要注意将输入缓冲区内清空,这样会减少很多不必要的麻烦。此外也可以使用scanf()替代getchar(),scanf()不必担心回车字符的困扰——只有在格式化为"%c"时会读取回车符。但也有其缺点,就是无法读取含空格等字符的字符串。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有