关于一行代码的问题
#include<bits/stdc++.h>using namespace std;
bool judge(int year){return year%400==0||(year%4==0&&year%100!=0)?true:false;}
int main()
{
int days = 0;
int year =2001;
for(int i=2000;i<=year-1;++i)
days+= 365+judge(i)?1:0;
cout<<days<<endl;
}
为什么输出的是1呢?不是366呢? 三元操作是关系符,优先级很低,变成在问 365 + 1 是 true or false,所以返回 1
365 + judge(i) 不就好了 claws0n 发表于 2018-9-28 19:47
三元操作是关系符,优先级很低,变成在问 365 + 1 是 true or false,所以返回 1
365 + judge(i) 不就好了
我明白了,谢谢了
页:
[1]