这段代码给出的结果是i = 1,但为什么当有5并且也用3初始化时,它会给出这个值。
int main() {
int i = 0;
if(i==0) {
i=((5,(i=3)),i=1);
printf("%d",i);
} else{
printf("Hello");
}
}
逗号 ( ,
) 运算符返回右侧术语。这里,返回的项是 i=1
的返回值,即 1
。然后将此值重新分配给 i
。