关于逗号表达式?
#include <stdio.h>void main()
{
int a=2,b=4,c=6,x,y;
y=(x=a+b),(b+c);
printf("y=%d,x=%d\n",y,x);
}
为什么编译结果y=6? 请注意下列两个表达式的不同
y=(x=a+b),(b+c);//y=6
y=((x=a+b),(b+c));//y=10
第1个式子以逗号为界,分为两个表达式:①y=(x=
a+b);显然y=6。②(b+c);但这是另一个表达式与式①无半毛钱关系
页:
[1]