逗號運算子

2022-05-26 10:00:09 字數 509 閱讀 6599

逗號運算子保證被它分開的表示式按照從左到右的次序進行計算,換句話說,逗號是個順序點,逗號左邊產生的所有***都在程式執行到逗號右邊之前生效。

這一點在逗號右邊的表示式用到逗號左邊變數的時候尤其重要:

ounces++, cost = ounces * first_oz 

這將遞增ounces,並在第二個子表示式中實用ounces的新值。

houseprice = 239,500;並沒有語法錯誤,c把它理解為乙個逗號表示式,houseprice=239使左子表示式,而500使右子表示式

對於逗號表示式而言,整個表示式的值使右邊表示式的值

例:

執行結果為

這個例子說明了上述結論,整個逗號表示式的值是右邊表示式的值。

逗號運算子

在c語言中,多個表示式可以用逗號分開,其中用逗號分開的表示式的值分別結算,但整個表示式的值是最後乙個表示式的值。假設b 2,c 7,d 5,a1 b,c d 3 a2 b,c d 3 對於第一行 有三個表示式,用逗號分開,所以最終的值應該是最後乙個表示式的值,也就是d 3,為8,所以a1 8。對於第...

逗號運算子

c 語言中,逗號 也可以是運算子,稱為逗號運算子 comma operator 逗號運算子可以把兩個以上 包含兩個 的表示式連線成乙個表示式,稱為逗號表示式。其一般形式為 子表示式1,子表示式2,子表示式n 例如 a b,c b,c 逗號運算子的優先順序是所有運算子中級別最低的,通常配合 for 迴...

逗號運算子

逗號運算子是指在c語言中,多個表示式可以用逗號分開,其中用逗號分開的表示式的值分別結算,但整個表示式的值是最後乙個表示式的值。例子 int a1,a2,b 2,c 7,d 5 第1行 a1 b,c d 3 第2行 a2 b,c d 3 第3行 對於給a1賦值的 有三個表示式,用逗號分開,所以最終的值...