為什麼switch后面條件month要-1?
#include <stdio.h>
int main()
{
??? int year = 2008;
??? int month = 8;
??? int day = 8;
??? switch(month-1)
??? {
??????? case 12:day+=31;
??????? case 11:day+=30;
??????? case 10:day+=31;
??????? case 9:day+=30;
??????? case 8:day+=31;
??????? case 7:day+=31;
??????? case 6:day+=30;
??????? case 5:day+=31;
??????? case 4:day+=30;
??????? case 3:day+=31;
??????? case 2:if((year%4==0 && year%100!=0) || year%400==0)
??????????????????? day+=29;
?????????????? else
??????????????????? day+=28;
??????? case 1:day+=31;
??? }
??? printf("2008年8月8日是該年的第%d天",day);
?return 0;
}
2015-12-05
首先,不加break會順序執(zhí)行接下來的代碼,再有就是,假設,今天是8月8號,8月其實只過了8天,前面七個月是真正過完了的......