首頁  >  文章  >  後端開發  >  c語言中什麼是逗號運算子並舉例

c語言中什麼是逗號運算子並舉例

hzc
hzc原創
2020-07-02 11:40:057811瀏覽

逗號運算子是指在C語言中,多個表達式可以用逗號分開,其中用逗號分開的表達式的值分別結算,但整個表達式的值是最後一個表達式的值。

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn