C程序问题~

来源:百度知道 编辑:UC知道 时间:2024/07/13 08:04:01
main(){

int a=2,b=4,c=6,x,y;

y=(x=a+b),(b+c);

printf("y=%d,x=%d",y,x);

}

为什么y=6啊 谢谢~

先计算括号:
x=a+b=2+4=6;
b+c=4+6=10;
结果这一行就变成了:
y=6,10;
当然y就是6了。后面的10根本不起任何作用。实际上,程序在编译过程中已经把(b+c)给清除了。