刚刷leetcode 104,遇到一个奇怪的问题,总结起来就是如下代码:
#include <stdio.h> int main() { int m = 2; int n = 10; int x = 1 + (m > n) ? m :n; printf("%d ",x); return 0; }
int x = 1 + ((m > n) ? m :n);这个写法和上面写法得到的结果不同,+运算符优先级高于 ?,这种现象怎么解释?
+运算符优先级高于 ?,把三目条件写在一块就好,int x = 1 + (m > n ? m :n);
int x = 1 + (m > n ? m :n);
1.4m articles
1.4m replys
5 comments
57.0k users