3.带逗号的表达式又称为逗号表达式,又称为"顺序求值运算符"。
4.逗号表达式的一般形式为:表达式1,表达式2。
5.逗号表达式的求解过程是:先求解表达式1,再求解表达式2,整个逗号表达式的值是表达式2的值。
C语言提供一种特殊放入运算符----逗号运算符表达式1,表达式2
逗号表达式的求解过程是:先求表达式1,再求表达式2.整个逗号表达式的值是表达式2的值,如表达式“3+5,6+8”的值为14。又如,逗号表达式:“a=3*5,a*4”,赋值运算符的优先级别高于逗号运算符,因此应先求解a=3*5.经计算和赋值后得到a的值为15,然后求解a*4,得60.整个逗号表达式的值为60.
逗号表达式的一般形式可以扩展为
表达式1,表达式2,表达式3,。。。表达式n。它的值为表达式n的值
逗号运算符是所有运算符中级别最低的。
C语言中,逗号(,)也可以是运算符,称为逗号运算符(Comma
Operator)。逗号运算符可以把两个以上(包含两个)的表达式连接成一个表达式,称为逗号表达式。其一般形式为:
子表达式1,
子表达式2,
...,
子表达式n
例如:
a
+
b,
c
=
b,
c++
逗号运算符的优先级是所有运算符中级别最低的,通常配合
for
循环使用。逗号表达式最右边的子表达式的值即为逗号表达式的值。上例中,c++
的值(c
自增之前的值)即为该表达式的值。
逗号运算符保证左边的子表达式运算结束后才进行右边的子表达式的运算。也就是说,逗号运算符是一个序列点,其左边所有副作用都结束后,才对其右边的子表达式进行运算。因此,上例中,c
得到
b
的值后,才进行自增运算。