瞳羽 发表于 2014-8-20 09:44:07

逗号运算符的小问题

#include<stdio.h>
void main()
{
int a = 2, b = 5, c = 6 , x , y ;
y = ( a + c ),(x = a + b);
printf("y = %d , x = %d \n", y , x );

}

结果显示::y=8,x=7
我看教程,y的值等于逗号后的值,然而计算出来的结果一直是等于逗号之前的,请问何解?

故乡的风 发表于 2014-8-20 16:58:08

赋值运算符的优先级要高于逗号运算符。
y = ((a + c), (x = a + b));
这样就是你所想的了

瞳羽 发表于 2014-8-20 22:00:18

3q,懂了
页: [1]
查看完整版本: 逗号运算符的小问题