#include <stdio.h>
int main()
{
int ch = 0;
while ((ch = getchar()) != EOF)
putchar(ch);
return 0;
}
EOF是 "End of File" 的缩写,它表示文件的结束。在C和C++中,EOF是一个特殊的整数常量,用于表示文件末尾。
当使用getchar()
或其他输入函数从文件或用户输入中读取字符时,如果读取到文件末尾,getchar()
函数将返回EOF。
在大多数系统中,EOF的值是-1。因此,通常我们会使用ch != EOF
来检查是否达到了文件末尾。
使用EOF可以帮助我们判断何时停止读取文件,以避免无限循环或读取无效的字符。
在大多数操作系统中,按下CTRL+Z组合键会发送一个特殊的控制字符,称为"EOF"(End of File)字符,它告诉正在运行的程序输入流已经结束。
当你在终端或命令行窗口中输入CTRL+Z时,操作系统会将EOF字符发送给正在运行的程序。对于大多数交互式程序和循环,程序会检测到EOF字符,将其解释为输入结束的信号,并相应地终止循环或退出程序。
因此,按下CTRL+Z可以被视为一种快捷方式,用于退出循环或程序,而不必手动输入特定的退出条件。请注意,这种行为可能会因操作系统和编程语言而有所不同,因此并不能保证在所有情况下都能成功退出循环。
putchar()
函数只接受一个字符作为参数,如果你想打印字符串,你需要使用其他函数,如 printf()
。
在使用 putchar(ch)
函数之前,通常会先声明一个整型变量 ch
并初始化为 0。这是因为 putchar()
函数的参数要求是一个整型字符,即使用 ASCII 码表示的字符值。