C语言里的getchar()怎么用?
2022-09-28 · 百度认证:北京惠企网络技术有限公司官方账号
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。