qq_小男孩_4
2016-12-31 15:07
if((year%400==0)||(year%4==0&&year%100!=0))怎么理解?
首先,"||"是或运算,即此符号两边任意一边满足即整个表达式返回true,然后year%400==0表示year变量对400取余,并判定是否等于0(请注意在c语言里"=="才是等于,"="是赋值符号),然后"||"的后面,year%4==0和前面的year%400==0意思差不多, 只不过取余对象变成了4,&&是与运算,即此符号两边表达式必须同时满足,表达式才会返回true,后面的"year%100!=0"中,"!="表示不等于,而"||"符号两边用括号括起来是为了防止计算机运算时把优先级弄错(在c语言里括号里的表达式优先级要高许多),其实在这里有没有括号效果是一样的。
王铮理解这句可以将其读为“判断year变量的值是否为400的倍数或为4且非100的倍数”
说得有点混乱,将就看哈
400的倍数 或者4的倍数但是不能被100整除的数。
C语言入门
926207 学习 · 20797 问题
相似问题