逗號表達式的一般形式是:表達式1,表達式2,表達式3……表達式n
逗號表達式的求解過程是:先計算表達式1的值,再計算表達式2的值,……一直計算到表達式n的值。最后整個逗號表達式的值是表達式n的值。
看下面幾個例子:
x=8*2,x*4 /*整個表達式的值為64,x的值為16*/ (x=8*2,x*4),x*2 /*整個表達式的值為128,x的值為16*/ x=(z=5,5*2) /*整個表達式為賦值表達式,它的值為10,z的值為5*/ x=z=5,5*2 /*整個表達式為逗號表達式,它的值為10,x和z的值都為5*/
逗號表達式用的地方不太多,一般情況是在給循環變量賦初值時才用得到。所以程序中並不是所有的逗號都要看成逗號運算符,尤其是在函數調用時,各個參數是用逗號隔開的,這時逗號就不是逗號運算符。
如:printf(" %d,%d,%d",x,y,z); ########################################################### 運算符使它兩邊的表達式以從左到右的順序被執行,並獲得右邊表達式的值。, 運算符最普通的用途是在 for 循環的遞增表達式中使用。例如:
for (i = 0; i < 10; i++, j++) { k = i + j; }
每次通過循環的末端時, for 語句只允許單個表達式被執行。, 運算符被用來允許多個表達式被當作單個表達式,從而規避該限制。