15.2.3 逗号运算符
逗号运算符(Comma Operator)也是一种双目运算符,它的形式是"表达式1,表达式2",两个表达式不要求类型一致,左边的表达式1先求值,求完了直接把值丢掉,再求右边表达式2的值作为整个表达式的值。逗号运算符是左结合的,类似于+ - * /运算符,根据组合规则可以写出"表达式1,表达式2, 表达式3,…,表达式n"这种形式,"表达式1,表达式2"可以看作一个子表达式,先求表达式1的值,再求表达式2的值作为这个子表达式的值,然后这个值再和表达式3组成一个更大的表达式,求表达式3的值作为这个更大的表达式的值,依此类推,整个计算过程就是从左到右依次求值,最后一个表达式的值成为整个表达式的值。
注意:
函数调用时各实参之间也是用逗号隔开,这种逗号是分隔符而不是逗号运算符。但可以这样使用逗号运算符:
- f(a, (t=3, t+2), c)
传给函数f的参数有三个,其中第二个参数的值是表达式t+2的值。