这里的=优先级最低,所以最后执行,解析上说最后=会给左边的表达式赋值,但这个不是先判断x是否大于0,再赋值吗?语法哪里有问题?

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达

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

这是一个三目运算符的算式 X?Y:Z
x>0?y=x:y=-x => (x>0)?(y=x):(y=-x),
解: 若(x>0)为真,则(y=x)
若(x>0)为假,则(y=-x)

加一下括号,每个符号的优先级不同