這個(gè)代碼為什么會(huì)算出累加的和呀,而且加不加break在這個(gè)代碼中會(huì)有怎樣的影響。
#include <stdio.h>
int main()?
{?
? ? /* 定義需要計(jì)算的日期 */
? ? int year = 2008;
? ? int month = 8;
? ? int day = 8;
? ? /*
? ? ?* 請(qǐng)使用swtich語(yǔ)句,if...else語(yǔ)句完成本題
? ? ?* 如有想看小編思路的,可以點(diǎn)擊左側(cè)任務(wù)中的“不會(huì)了怎么辦”
? ? ?* 小編還是希望大家獨(dú)立完成哦~
? ? ?*/
? ? 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) || year%400==0) day+=29; else day+=28;
? ? ? ? case 1:day+=31;
? ? }
? ? printf("2008年8月8日是該年的第%d天",day);
return 0;
}
2017-08-18
因?yàn)闆](méi)有添加break所以會(huì)依次執(zhí)行
例如月份是5的時(shí)候
會(huì)執(zhí)行
? ? ? ?case 4:day+=30;
? ? ? ? case 3:day+=31;
? ? ? ? case 2:if((year%4==0 && year%100) || year%400==0) day+=29; else day+=28;
? ? ? ? case 1:day+=31;
這四句代碼
2017-08-18
在case子句后如果沒(méi)有break;會(huì)一直往后執(zhí)行一直到遇到break;才會(huì)跳出switch語(yǔ)句。