找不到更好的標題,所以編輯它,如果你有更好的主意。爲什麼這項工作
下面是while循環在C:
while ((c = getchar()) != EOF)
怎樣的條件下工作?
(c = getchar())
(c = getchar())
如何賦值表達式「返回」一個值,因爲它是與EOF
比較的?
找不到更好的標題,所以編輯它,如果你有更好的主意。爲什麼這項工作
下面是while循環在C:
while ((c = getchar()) != EOF)
怎樣的條件下工作?
(c = getchar())
(c = getchar())
如何賦值表達式「返回」一個值,因爲它是與EOF
比較的?
在C的assignement操作是烯表達它的值是分配的結果。
例如a = 5
是一個表達式,其值爲5
。
((c = getchar()) != EOF
調用getchar
,並把返回值中c
,然後將結果(c
現在含量)=到EOF
進行比較。
在C中,賦值表達式本身就是賦值的值。
該屬性允許程序員應用不同的技術,如所提到的,直接比較分配的值。
if ((a = f()) != 0) ....
或多個分配
a = b = f()
你已經得到了答案。賦值表達式返回分配的值。它和'a = b = 0是一樣的;' –
http://stackoverflow.com/questions/7119470/int-c-getchar –