c语言getchar()的用法

c语言getchar()的用法,第1张

getchar()是c语言中的一个输入函数

可以用它来赋一个字符的值。

例如:char aa=getchar()。

当你在键盘上输入一个字符(如输入g)后按回车,那么字符变量a的值就是'g'了。

与scanf的区别:

1、getchar()函数只能输入一个字符型的值,而scanf()函数除了字符型,还可以输入多种数据类型的值,包括整型、浮点型等。

2、scanf()函数输入字符型需要%c说明符,而getchar()函数不需要说明符。

getchar()函数的注意事项:

1、当程序调用getchar时,程序就等着用户按键,用户输入的字符被存放在键盘缓冲区中,直到用户按回车为止(回车字符也放在缓冲区中)。

当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符。

如果用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键。

2、getchar有一个int型的返回值,当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符。getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕。

getchar是读入函数的一种。它从标准输入里读取下一个字符,相当于getc(stdin)。返回类型为int型,为用户输入的ASCII码或EOF。

它的作用是从stdin流中读入一个字符,也就是说,如果stdin有数据的话不用输入它就可以直接读取了,第一次调用getchar()时,确实需要人工的输入,但是如果输了多个字符,以后的getchar()再执行时就会直接从缓冲区中读取了。

getchar函数语法相关资料

(1)函数声明

int getchar(void)

(2)参数

NA

(3)功能

C 库函数int getchar(void)从标准输入 stdin 获取一个字符(一个无符号字符)。这等同于getc带有 stdin 作为参数。

(4)返回值

该函数以无符号 char 强制转换为 int 的形式返回读取的字符,如果到达文件末尾或发生读错误,则返回 EOF。

(5)用法

该函数声明在stdio.h头文件中,使用的时候要包含stdio.h头文件。如:

#include<stdio.h>

int getchar(void);

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。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11123304.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存