在C语言中逗号“,”也是一种运算符, 其功能是把两个表达式连接起来组成一个表达式, 称为逗号表达式。其一般形式为:
运行结果为:
表达式1, 表达式2
其中用逗号分开的表达式的值分别运算,但整个表达上的值是最后一个表达式的值。
逗号运算符的优先级是运算符中最低的,比其他运算符都低。
例如:
#include<iostream>
using std::cin;
using std::cout;
using std::endl;
int main()
{
int a=3,b,c;
b=(a+2,a-1);
c=a+2,a-1;
cout<<"b=="<<b<<endl;
cout<<"c=="<<c<<endl;
return 0;
}
运行结果为:
如上图所示,由于运算符表达式取的是最后一个表达式的值,因此(a+2,a-1)最终取值是a-1=2,故b==2
在c=a+2,a-1;中,表达式a+2,a-1取值依然是a-1=2,但是由于逗号运算符优先级低于"="运算符,所以c=a+2=5