C语言里的getchar()怎么用?
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。
getchar()是c语言中的一个函数,可以用它来赋一个字符的值。
例如:char a;
a=getchar();
当你在键盘上输入一个字符后按回车;(输入u)
那么字符变量a的值就是'u'了.
main() { char c; c=getchar(); /*从键盘接收一个字符,只能一个,多于一个其余作废*/ putchar(c); } 还可以这样用: main() { putchar(getchar()); }
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。