为什么在这一行代码中同时使用 EOF 和 ''很重要?

Why it's important to use both EOF and '' together in this line of code?

本文关键字:EOF 一行 代码 为什么      更新时间:2023-10-16

请原谅我糟糕的英语,我正在练习 C 在第 4 章第 4.1 节的"C 编程语言,第 2 版"中有一个用于模式搜索的代码(UNIX 程序 grep(

有一行代码我不太理解

while (--lim > 0 && (c = getchar()) != EOF && c != '')

让我感到困惑的是EOF''不是一回事? 使用其中之一还不够吗?

谢谢你的时间。

EOF

''

不同

EOF是文件结尾

''是一个字符串终止符。

  • ''等于0
  • EOF等于-1

-1 != 0 ---> EOF != ''