如果c = a,b,c的值是多少;

int a=0; int b=1; int c=a,b; int d=(a,b); 

在初始化之外, a,b中的逗号逗号运算符 ,并且计算为b 。 涉及d的行中的括号使这种情况成为现实。 所以这条线实际上只相当于:

 int d = b; 

但是,在涉及c的行中,这不是逗号运算符的使用。 相反,它只是一个变量定义列表,相当于:

 int c = a; int b; 

(由于重新定义了b ,因此无法编译!)