如果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
,因此无法编译!)