int a = 5, b = 7;
int N = a == b ? a : a + b == 10 ? a + b : 0;
以下代码的含义是什么? 更新:主要是我想知道我可以使用它的原因以及它是如何工作的?
答案 0 :(得分:0)
使用隐式括号,此表达式等效于:
int N = (a == b) ? a : ((a + b) == 10) ? (a + b) : 0;
这将分配给N
:
a
和a
相等,b
的值。如果不是...... a + b
的值,如果a + b
为10(即N
,则为10)。如果不是...... 0
。我经常看到这个结构在计算给定年份2月份的天数时使用。
int febDays = (year % 4 != 0) ? 28 :
(year % 100 != 0) ? 29 :
(year % 400 != 0) ? 28 : 29;