int x=4,y;x>0?y=x:y=-x;在C语言中,这个语句合法吗?

2025-02-24 16:10:59
推荐回答(2个)
回答1:

不合法,要写成这样:
x>0?(y=x):(y=-x);

赋值符号的优先级低,所以要加括号

回答2:

x>0?y=x:y=-x;

这是一个错误的写法, 正确的写法应该是:
x>0?(y=x):(y=-x);