无法找到更好的标题,因此如果您有更好的主意,请进行修改。
这是C中的while循环:
while ((c = getchar()) != EOF)
条件如何运作?
(c = getchar())
如何分配表达式"返回"一个值,然后将其与EOF
进行比较?
答案 0 :(得分:1)
分配的表达式返回已分配的值。
当你这样做时:
((c = getchar()) != EOF)
您将指定的值与EOF
进行比较。
答案 1 :(得分:1)
在C中,赋值表达式本身具有赋值的值。
此属性允许程序员应用与您提到的技术不同的技术,直接比较指定的值。
if ((a = f()) != 0) ....
或多项作业
a = b = f()
答案 2 :(得分:1)
在C中,分配操作是 en表达式,其值是赋值的结果。
例如a = 5
是一个值为5
的表达式。
((c = getchar()) != EOF
调用getchar
并将返回值放在c
中,然后将结果(现在c
} ='的内容与EOF
进行比较。< / p>