有条件没有三元运算符的变量定义

Variable definition with condition without ternary operator

我只是不知道这行是什么意思。:

a = b%4 == 0 && b%100 != 0 || b%400 == 0;

A = 真如果

b%4 == 0
&&
b%100 !=0

OR

b%400 == 0

A = 如果 B 是闰年则为真。 如果 B 不是闰年,则 A = false。

我们 2 年前就有过这个:)

这个表达式加上额外的括号会更易读:

a = ((b % 4 == 0) && (b % 100 != 0)) || (b % 400 == 0);

公历闰年测试:

如果

b4 的倍数,则为闰年,除非它是 100 的倍数,或者 400 的倍数].

举个例子:2016是闰年,2000也是,但是1900不是,2100也不会是闰年。

||&& 运算符是快捷逻辑运算符,分别用于 OR 和 AND 条件。该表达式等效于:

if (b % 4 == 0) {
    if (b % 100 != 0) {
        a = 1;
    } else {
        a = 0;
    }
} else {
    if (b % 400 == 0) {
        a = 1;
    } else {
        a = 0;
    }
}