可能重複正確的表達:
how to find leap year?檢查閏年
會有什麼閏年的確切定義是什麼?據我所知「一年是能被4整除的是閏年,但世紀年,這是被400整除的年是閏年。」
但這個定義做了100,200,300,400。 ...高達1700年不是LEAP年!但在公曆中,所有這些都是閏年,check this out。
你也可以在Linux中嘗試「調用1700」來驗證。
所以,正確的算法閏年是:
if ((year % 4 == 0) && (year <= 1700 || year % 100 != 0 || year % 400 == 0))
printf("%d is a leap year.\n", year);
else
printf("%d is not a leap year.\n", year);
但這是具體到陽曆?即使是這樣,爲什麼沒有提到here?
問候,
PS:公曆卡倫德的歷史似乎有趣退房September month of 1752。
認沽括號
:
所以回答你的問題將是等效的。就目前而言,你的陳述是不明確的。 (海灣合作委員會會給類似的C代碼警告)我如何解釋這取決於我的操作順序,這是僞代碼相當未定義。 – Thanatos 2010-06-12 17:34:41
感謝您的輸入,我只是複製了文章中的代碼,並沒有注意到問題 – 2010-06-12 17:59:26