scanf,EOF,getchar,gets,puts
#include <stdio.h>
int main()
{
int c;
while ((c = getchar()) != EOF)
putchar(c);
return 0;
}
运行程序另起一行,按CTRL+Z键,即会显示“^Z",再次按回车键即可退出程序。
使用EOF是为了避免因试图在文件结尾处进行输入而产生的错误。
putchar--stdio.h
int putchar ( int character );
1.Write character to stdout,Writes a character to the standard output (stdout).
2.格式putchar(c)--c可以是ASCII值/char型变量/'a'
getchar与scanf--stdio.h
int getchar ( void );
格式int a=getchar();
1、getchar其实返回的是字符的ASCII码值(整数)。
2、getchar在读取结束或者失败的时候,会返回EOF。
scanf和getchar都是输入函数,它们都是从键盘上来读取我们的数据,但它们
不是直接从键盘上来读取我们的数据
。它们和键盘之间有一个区域叫
缓冲区
。
输入函数先来看缓冲区中是否有数据,如果有,它直接就拿走了,不需要从键盘输入,如果缓冲区什么都没有,则需要从键盘输入,再拿走。
scanf读取的方式是读取
\n之前的内容
。
scanf
取缓冲区中的数据,当它
读到空格的时候,它就不再读了
(这是scanf的一个作用性质)。
getchar读取字符(包括空格和换行)
gets与puts--stdio.h
char * gets ( char * str );
1. gets()函数用来从标准输入设备(键盘)读取字符串直到
回车结束
, 但回车符
不属于
这个字符串。
2.其调用格式为:gets(str); 其中str为字符串变量(字符串数组名或字符串指针 )
3.gets会将标准输入流(stdin)中的字符串存入str中,并自动加入'\0'
int puts ( const char * str );
1.
puts()函数用来向标准输出(stdout)设备(屏幕)写字符串并换行,
puts()函数的作用与语printf("%s\n", s)相同。
注意: (1). puts()函数只能输出字符串, 不能输出数值或进行格式变换。
(2). 可以将字符串直接写入puts()函数中。如: puts("Hello, Turbo C2.0");
本文介绍了C语言中的几个关键输入输出函数:getchar用于读取单个字符,scanf用于格式化输入,puts用于输出字符串并自动换行,而EOF是文件结束标志。这些函数都涉及到输入缓冲区的概念,getchar能读取包括空格在内的所有字符,而scanf在遇到空格时停止读取。gets读取直到回车结束的字符串,puts则输出字符串并添加换行。
911

被折叠的 条评论
为什么被折叠?



