标签:
借助于getchar 与putchar 函数,可以在不了解其它输入/输出知识的情况下编写出
数量惊人的有用的代码。最简单的例子就是把输入一次一个字符地复制到输出,其基本思想
如下:
读一个字符
while (该字符不是文件结束指示符)
输出刚读入的字符
读下一个字符
将上述基本思想转换为C语言程序为:
#include <stdio.h> #include <Conio.h> main(){ /* copy input to output */ int c; int d; d = EOF; while((c=getchar())!=EOF){ putchar(c); } printf("EOF value is %d",d); getch(); }
输出:
在没有输入时,getchar 函数将返回一个特殊值,这个特殊值与任何实际字符都不同。这个
值称为EOF(end of file,文件结束)。我们在声明变量c 的时候,必须让它大到足以存
放getchar函数返回的任何值。这里之所以不把c声明成char类型,是因为它必须足够大,
除了能存储任何可能的字符外还要能存储文件结束符EOF。因此,我们将c声明成int类型。
而打印的结果也显示EOF的值为-1。
Tips
对 while语句的条件部分来说,赋值表达式两边的圆括号不能省略。不等于运算符!=的
优先级比赋值运算符=的优先级要高,这样,在不使用圆括号的情况下关系测试!=将在赋值=
操作之前执行。
标签:
原文地址:http://www.cnblogs.com/ryansunyu/p/4466144.html