-
逗號運算符
鎖定
- 中文名
- 逗號運算符
- 外文名
- Comma Operator
- 應用範圍
- C語言,C++語言
- 值
- 最後一個表達式的值
逗號運算符簡介
逗號運算通常用於 for 結構的括號內的第一個表達式,用於給多個局部變量賦值。
例如下面是用於求從1 到 100之間對 n2 求和的程序:
int main() {
int n, sum;
for(n = 1, sum = 0; n <= 100; n++) {
sum += n * n;
}
cout << "sum= " <
return 0;
}
其中的“n=1, sum = 0” 就是使用逗號運算符構成的一個逗號表達式。
逗號運算符注意事項
如果在語句中同時用了逗號運算符和賦值運算符,則需要特別注意,賦值運算符的優先級高於逗號運算符。看下面這兩個例子:
int a1, b = 2, c = 7, d = 5; // 第1行
a1 = (++b, c--, d+3); // 第2行
本例,對於第2行,由於用逗號分開的三個表達式被包含在括號內,所以先計算這個括號內的表達式,再進行賦值。括號內的表達式的最終值應該是最後一個表達式的值,也就是 (d+3) 的值,為 8,所以 a1 被賦值為 8。
int a1, b = 2, c = 7, d = 5; // 第1行
a1 = ++b, c--, d+3; // 第2行
本例,對於第2行,由於賦值運算符的優先級高於逗號運算符,所以“a1=++b” 實際是逗號表達式中的一個子表達式,雖然最終表達式的值雖然也為 8,求值之後,“++b” 的值為3,a1被賦值為 3,而整個逗號表達式的值為 8。