这个if语句在什么时候为真?什么时候为假?

if((!(year%4)&&(year%100)||!(year%400))
daynum29;
else
daynum=28;
换句话说,什么时候执行daynum29,什么时候执行daynum28

梵蒂冈之花
浏览 321回答 3
3回答

慕虎7371278

当if后面括号里德表达式为真时,执行daynum=29;意思就是 year%4为真 且year%100为假或 year%400为真咯等价于year%4==0 && year%100!=0 ||year%400==0这里你要考虑到运算符的优先级别这几个运算符先做括号里边的!(非)的级别最高,然后是算术运算符%&& ||

MMMHUHU

当year同时被4和100整除并且不能被400整除的时候 if为真!也就是闰年,执行 daynum29;

潇潇雨雨

if((!(year%4)&&(year%100)||!(year%400)) 相对于if(i%400==0||i%100!=0&&i%4==0)
打开App,查看更多内容
随时随地看视频慕课网APP