逗號運算子是指在C語言中,多個表達式可以用逗號分開,其中用逗號分開的表達式的值分別結算,但整個表達式的值是最後一個表達式的值。
逗號運算子是指在C語言中,多個表達式可以用逗號分開,其中用逗號分開的表達式的值分別結算,但整個表達式的值是最後一個表達式的值。
範例:
int a1,a2,b=2,c=7,d=5;
// 第1行
a1=( b,c--,d 3);
// 第2行
a2= b,c--,d 3;
//第3行
對於給a1賦值的程式碼,有三個表達式,用逗號分開,所以最終的值應該是最後一個表達式的值,也就是(d 3)的值,為8,所以a1的值為8。
對於給a2賦值的程式碼,也是有三個表達式,這時的三個表達式為a2= b、c--、d 3,(這是因為賦值運算子比逗號運算子優先級高)雖然最終表達式的值雖然也是8,但b=4
(第2行程式碼運算完時,b=3,即第3行程式碼運行時,b的值為4 ),所以a2=4。
注意:逗號運算的結合性是從左到右,完畢之後整個表達式的值是最後一個表達式的值。
範例:int a[2],x=2,y=5;
#a[0]=(x 3,y ,x );
那麼最終結果是:a[0]=2 x=3 y=6;
為何a[0]=2:因為(x )是運算之後再自加
a[1]=(x ,x 3,x 7);
那麼最終結果是:a[1]=10 ,x=3
再來一個關於結合性的例子:
int i=24;
int n = (i ,i ,i ,i ); // n == 27
因為逗號運算子的結合性是自左向右,所以四個i 會依序運行,但是最後一個i 在賦值之後才進行運算,所以最終返回27。
推薦教學: 《c語言教學》
以上是c語言中什麼是逗號運算子並舉例的詳細內容。更多資訊請關注PHP中文網其他相關文章!