逗号运算符的优先级:
- 任何运算符 优先于 逗号运算符,即逗号运算符的优先级是最低的
- 逗号运算符的结合性是从左至右
代码如下:
#include<stdio.h>
int main(void)
{
int a=0,b=1,c,d,e;
// printf("c=2,d=3 的值:%d\n",(c=2,d=3)); //3
// printf("c= %d\nd= %d\n",c,d); //c=2,d=3
// printf("b=a+2,c=b+3 的值:%d\n",(b=a+2,c=b+3)); //5
// printf("a= %d\nb= %d\nc= %d\n",a,b,c); //a=0,b=2,c=5
// printf("d=b++,c=a++,e=--d 的值:%d\n",(d=b++,c=a++,e=--d));
//(d=b++,c=a++),e=--d -->0
// printf("a= %d\nb= %d\nc= %d\nd= %d\ne= %d\n",a,b,c,d,e);
//a=1,b=2,c=0,d=0,e=0
// printf("c=3*5,c*4 的值:%d\n",(c=3*5,c*4)); //15*4=60
// printf("c= %d\n",c); //c=15
printf("(d=3*5,d*4),d+5) 的值:%d\n",((d=3*5,d*4),d+5));
//(d=15,d*4),d+5
//d*4=60 d+5=20
//表达式的值:20
printf("d= %d\n",d); //d=15
return 0;
}
结果如下: