在使用GCC编译器编译给定程序时:
int main()
{
int a=2,b=3;
(a>1)?b=10:b=50;
printf("%d",b);
return 0;
}
出现错误提示:"lvalue required as left operand"
但如果我将第四行写成(a>1)?b=10:(b=50);
那么就不会出现编译错误。有人能解释一下为什么吗?还有,它与if...else...有何不同?
((a>1)?b=10:b) = 50;
。 - Mysticial