C 逗號運算子與逗號表示式

2021-08-04 21:38:49 字數 854 閱讀 2847

c++將賦值表示式作為表示式的一種,使賦值操作不僅可以出現在賦值語句中,而且可以以表示式形式出現在其他語句(如輸出語句、迴圈語句等)中。這是c++語言靈活性的一種表現。

請注意,用cout語句輸出乙個賦值表示式的值時,要將該賦值表示式用括號括起來,如果寫成「cout3+5, 6+8

稱為逗號表示式,又稱為「順序求值運算子」。逗號表示式的一般形式為:

表示式1, 表示式2

逗號表示式的求解過程是:先求解表示式1,再求解表示式2。整個逗號表示式的值是表示式2的值。如,逗號表示式

a=3*5, a*4

賦值運算子的優先級別高於逗號運算子, 因此應先求解a=3*5(也就是把「a=3*5」作為乙個表示式)。經計算和賦值後得到a的值為15,然後求解a*4,得60。整個逗號表示式的值為60。

乙個逗號表示式又可以與另乙個表示式組成乙個新的逗號表示式,如

(a=3*5, a*4), a+5

逗號表示式的一般形式可以擴充套件為:

表示式1, 表示式2, 表示式3, …, 表示式n

它的值為表示式n的值。

逗號運算子是所有運算子中級別最低的。因此,下面兩個表示式的作用是不同的:

x=(a=3, 6*3)

x=a=3, 6*a

其實,逗號表示式無非是把若干個表示式「串聯」起來。在許多情況下,使用逗號表示式的目的只是想分別得到各個表示式的值,而並非一定需要得到和使用整個逗號表示式的值,逗號表示式最常用於迴圈語句(for語句)中。

在用cout輸出乙個逗號表示式的值時,要將該逗號表示式用括號括起來,如:

cout<<(3*5, 43-6*5, 67/3)

C 逗號運算子與逗號表示式

c 將賦值表示式作為表示式的一種,使賦值操作不僅可以出現在賦值語句中,而且可以以表示式形式出現在其他語句 如輸出語句 迴圈語句等 中。這是c 語言靈活性的一種表現。請注意,用cout語句輸出乙個賦值表示式的值時,要將該賦值表示式用括號括起來,如果寫成 cout 3 5,6 8 稱為逗號表示式,又稱為...

逗號運算子和逗號表示式

逗號運算子和逗號表示式 逗號運算子 逗號運算子是以逗號為分隔符的列表中最後乙個表示式的值。本質上講,逗號的作用是導致一系列運算都被順序執行。最右邊的那個表示式的值將作為整個逗號表示式的值,其他的表示式的值將會被丟棄。逗號運算子是所有運算子中級別最低的。例如,有如下表示式 var count 19,i...

C 中逗號表示式和逗號運算子

c 語言提供一種特殊的運算子 逗號運算子。用它將兩個表示式連線起來。如 3 5,6 8 稱為逗號表示式,又稱為 順序求值運算子 逗號表示式的一般形式為 表示式1,表示式2 逗號表示式的求解過程是 先求解表示式1,再求解表示式2。整個逗號表示式的值是表示式2的值。例如,上面的逗號表示式 3 5,6 8...