使用逗号运算符是为了把几个表达式放在一起。
整个逗号表达式的值为系列中最后一个表达式的值。
从本质上讲,逗号的作用是将一系列运算按顺序执行。
表达式1, 表达式2
求解过程是:先求解表达式 1,再求解表达式 2。整个逗号表达式的值是表达式 2 的值。
最右边的那个表达式的值将作为整个逗号表达式的值,其他表达式的值会被丢弃。
例如:
var = (count=19, incr=10, count+1);
在这里,首先把 count 赋值为 19,把 incr 赋值为 10,然后把 count 加 1,最后,把最右边表达式 count+1 的计算结果 20 赋给 var。上面表达式中的括号是必需的,因为逗号运算符的优先级低于赋值操作符。
尝试运行下面的实例,理解逗号运算符的用法。
实例
#include <iostream>
using namespace std;
int main()
{
int i, j;
j = 10;
i = (j++, j+100, 999+j);
cout << i;
return 0;
}
当上面的代码被编译和执行时,它会产生下列结果:
1010
上面的程序中,j 最初的值为 10,然后自增到 11,这时 j 的值就为 11,然后再计算第二个表达式 j+100,最后 j(j 为 11) 再加上 999,最后 i 为 最后一个表达式的值 999+j,及 999+ 11=1010。
其他扩展