int x; int a=(x=2),12;// 赋值优先级高于逗号,相当于a=x=2,12是多余的 printf("a=%d",a);
int x; int a=((x=2),12);// 括号里从左到右执行,只会返回最后一个,即12 printf("a=%d",a);
逗号运算符与括号 - C语言
原文:https://www.cnblogs.com/Edsuns/p/12152832.html