-1

假设这个while循环:

while ((c = getchar()) != EOF)
        ^^^^^^^^^^^^^      
         assignment

正如你所看到的,我们将一个作业与 进行比较EOF,它是如何发生的?据我所知,赋值不会返回任何值,因此您无法比较赋值(对吗?)

4

2 回答 2

3

如果您将标准输入中的下一个字符(返回的内容- 这是分配的)与.while ((c = getchar()) != EOF)getchar()EOF

于 2013-05-07T10:08:31.650 回答
0

每当我们调用 getchar() 时,它都会读取输入的下一个字符并将其返回给您。该函数返回一个 int,即相关字符的 ASCII 码,但如果需要,您可以将结果分配给 char 变量。因此,通过这种方式,变量 c 获得的值最终与 EOF 进行比较。这个循环将一直运行,直到文件到达它的末尾。

于 2013-05-07T10:14:29.817 回答