现在的位置: 首页 > 11 文件处理 > 例题 > 正文

文件复制

2011年02月17日 11 文件处理, 例题 ⁄ 共 1480字 ⁄ 字号 暂无评论

为什么圆括号不能省略?

对 while 语句的条件部分来说,赋值表达式两边的圆括号不能省略。不等于运算符!=的优先级比赋值运算符=的优先级要高,这样,在不使用圆括号的情况下关系测试!=将在赋值=操作之前执行。因此语句

c = getchar() != EOF

等价于语句

c = (getchar() != EOF)

该语句执行后,c 的值将被置为 0 或 1(取决于调用 getchar 函数时是否碰到文件结束标志),这并不是我们所希望的结果(更详细的内容,请参见第 2 章的相关部分)。

练习 1-6 验证表达式 getchar() != EOF 的值是 0 还是 1。

练习 1-7 编写一个打印 EOF 值的程序。

抱歉!评论已关闭.