2016-12-19 15 views
0
int a = (1, 2, 5); 
printf("a=%d\n", a); 
用C

用括號內的逗號分隔值,這將打印5.分配使用C

有人可以解釋爲什麼5得到印刷並在其中情況下使用此語法?

回答

1

C中的逗號運算符是一個序列點,表示用逗號分隔的表達式從左到右執行。整個表達式的值是最右邊表達式的值,在你的情況5中,它被賦值給變量p。

+0

@mch是的,我很確定。邏輯AND &&,邏輯OR ||,是否有條件?和逗號,是一個序列點。 –

0

C中的逗號運算符具有最低優先級,即它具有最低優先級,因此最終得到評估。
逗號運算符在表達式中使用多個逗號運算符時返回最右側操作數的值。