C语言里的getchar()怎么用?

 我来答
惠企百科
2022-09-28 · 百度认证:北京惠企网络技术有限公司官方账号
惠企百科
惠企百科网是一家科普类综合网站,关注热门中文知识,集聚互联网精华中文知识,本着自由开放、分享价值的基本原则,向广大网友提供专业的中文知识平台。
向TA提问
展开全部

C语言中getchar的用法:

当输入终端在默认的输入模式(cooked)下时getchar是以行为单位进行存取,eof(unix/linux下为组合键ctrl+d)有两种作用,一个是换行符,一个是结束符。当缓冲区有其它字符时,它只是一个换行符,当前面没有字符是它就是一个地地道道的文件结束符。

运行代码:

#include <stdio.h>
int main()
{
int c;
while(c = getchar() != EOF)
{
printf("%d\n",c);
}
printf("%d\n",c);
printf("EOF = %d\n",EOF);
return 0;
}

结果如下:

getchar()!=EOF的值为1;

EOF=-1;

扩展资料:

getchar这个函数执行过程

(1)当调用getchar时,函数打开输入缓冲,并等待用户的输入。

(2)用户进行输入,并结束输入(ctrl+d,回车),此时的ctrl+d只是一个结束这一次输入的动作,并不是eof.getchar从缓冲区里取一个字符,并返回。

(3)缓冲区里字符队列头后移一位,等待再取。

(4)回车结束和ctrl+d结束不相同,回车也做为一个字符被存到缓冲区里,而ctrl+d并没有做为一个字符存储。

(5)缓冲队列没有字符,此时又按下了ctrl+d此时就是结束输入动作,也就是eof。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式