在C语言中,逗号可以作为运算符使用。以下主要介绍逗号运算符的作用及特征。
一、作用:
用于连接多个(两个及两个以上)表达式。
格式:
表达式1,表达式2,表达式3,....表达式n;
eg:
b=++a,4-2,a+5;
用途:
常见的应用是用逗号运算符连接多个表达式,将多个表达式运算后,将最后一个表达式的运算结果赋值给变量。
逗号运算符的结合性决定了是将多个表达式中最后一个表达式的运算结果赋值给左值变量。
eg:
b=(++a,4-2,a+5);//将a+5的计算结果赋值给b
二、特征:
结合性:从左到右,所以又称为“顺序运算符”。
优先级:在C语言的运算符中,逗号运算符的优先级最低。
由逗号运算符的结合性和优先级可知:
b=++a,4-2,a+5 等价于(b=++a),4-2,a+5;
以下通过代码对逗号运算符的结合性和优先级进行验证:
#include <stdio.h>
int main()
{
int a;int b;
a = 3;b=++a,4-2,a+5; //优先级printf("b= %d\n",b); // b=++a=4;
a = 3; //a值重新赋回来b=(++a,4-2,a+5); //结合性printf("b= %d\n",b); // b=((++a)+5)=9;
return 0;
}