关于三目运算符的问题

在三目运算符中,为什么(x-y)?1:2,其中x和y相等,输出的结果是1呀

宏定义是简单的公式替换。
S(c+b,c+b) 等价于(c+b-c+b) ?1:2; (c+b-c+b) = 6,6为真,结果就是1 啊

因为这是底层语言决定的,比如Java中0不代表flase,所以三目运算默认返回表达式1
如果你在js中进行判断时就会返回2,因为在js中0的布尔值是flase

img


但是不知道为什么我的是1。

img