在C语言和C++语言中,可以把多个表达式用逗号联接起来(或者说,把这些表分达式用逗号分开),构成一个更大的表达式。其中的逗号称为逗号运算符,所构成的表达式称为逗号表达式。逗号表达式中用逗号分开的表达式分别求值,以最后一个表达式的值作为整个表达式的值。
逗号运算符是二元运算符,逗号表达式的一般形式为:
表达式1 , 表达式2
逗号表达式的一般形式可以扩展为:
表达式1,表达式2,表达式3……表达式n
它的值为表达式n的值。
逗号运算符确保操作数被顺序地处理:先计算左边表达式1的操作数,再计算右边表达式2的操作数。整个逗号表达式的值是表达式2的值。
例如,逗号表达式“3+5,6+8”的值为14。
逗号运算符的特点:
优先级别最低;
自左往右执行表达式;
返回值为表达式最后一个.
逗号运算符的优先级是所有运算符中最低的。如果希望逗号运算的结果用于另一个赋值运算中,就需要使用括号。
因此,下面两个表达式的作用是不同的:
① x=(a=3,6*3)
② x=a=3,6*a
第①个是一个赋值表达式,将一个逗号表达式的值赋给x,x的值等于18。第②个是逗号表达式,它包括一个赋值表达式和一个算术表达式ÿ