z14928541 发表于 2016-2-4 17:00:26

关于逗号运算符

小甲鱼在第二章数据类型,逗号运算符讲解有错吧,
#include<stdio.h>

void main ()
{
        int a = 2, b = 4, c = 6, x,y;
        y = (x=a+b),(b+c);
        printf("y=%d\nx=%d\n",y,x);
}
运行结果Y值是表达式1的值不是表达式2的值啊?

rowang 发表于 2016-3-29 23:02:14

肯定没好好听课...逗号运算符的优先级是比赋值运算符要低的哦,即这里是先进行赋值运算。
所以代码中写法等价于:
(y = (x = a + b)), (b + c);
页: [1]
查看完整版本: 关于逗号运算符