理解
EOF是文件的结束符,是一个宏定义(C语言中所有的输入输出操作均是按读文件的思想来设计)
利用getchar与putchar函数能够能够把输入的字符经过检测,如不是文件结束指示符(当读文件操作时,遇到文件结束位置或读数据出错均会返回 EOF)后把该字符复制到输出。
#include<stdio.h>
#include<stdlib.h>
int
main()
{
int ch;
int line;
int at_begining;
line =0;
at_begining=1;
/*
*读取字符并逐个处理它们;
*/
while( (ch = getchar()) != EOF ){
/*
*如果我们位于一行的起始位置,打印行号;
*/
if (at_begining==1){
at_begining = 0;
line += 1;
printf("%d",line);
}
/*
*打印字符,并对行尾进行检测;
*/
putchar( ch );
if( ch == '\n')
at_begining = 1;
}
return EXIT_SUCCESS;
}
该案例源代码实现:从标准输入读取几行输入。每行输入都要打印到输出上,前面都要加上行号。在编写程序时要试图让程序处理的输入行不受限制。