1. 程式人生 > >逗號表達式的分析

逗號表達式的分析

直接 計算 表達 返回 逗號運算符 每次 什麽 賦值 color

fun函數返回的a值和傳入的a值無關,每次循環得到的k值和上一次循環也無關,所以直接看最後一次循環結果就好。 結果的關鍵在於逗號表達式 a=(c++,b++); 看了大家的解析,想要提一點,以下兩個表達式結果是不同的:
  1. a=(表達式1,表達式2);
  2. a=表達式1,表達式2;
因為逗號運算符在所有運算符中優先級最低,所以表達式(2)實際上執行過程為 (a=表達式1),表達式2; 所以這道題中:
  1. 若 a=(c++,b++); 則a=0,因為逗號表達式為(c++,b++),這個表達式的結果是0,並將這個結果賦值給a;
  2. 若 a=c++,b++; 則a=4,因為逗號表達式為(a=c++,b++),這個表達式結果為0,但賦給a的值是自加前的c值;
下面簡單講下逗號表達式是什麽鬼: 逗號表達式的形式就是用逗號運算符將若幹個表達式分隔開,形如: 表達式1,表達式2,......,表達式n 它是一個整體,所以上式其實是(表達式1,表達式2,......,表達式n ),運算過程為從左往右逐個表達式計算,整個表達式結果是表達式n的結果。

逗號表達式的分析