yiwan 发表于 2016-4-27 21:35:06

关于逗号表达式?

#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?

santaclaus 发表于 2016-4-28 00:08:17

请注意下列两个表达式的不同
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]
查看完整版本: 关于逗号表达式?