對于有無break的問題
#include?<stdio.h> int?main()? {? ????/*?定義需要計算的日期?*/ ????int?year?=?2008; ????int?month?=?1; ????int?day?=?1; ????/* ?????*?請使用switch語句,if...else語句完成本題 ?????*?如有想看小編思路的,可以點擊左側任務中的“不會了怎么辦” ?????*?小編還是希望大家獨立完成哦~ ?????*/ ???? ????int?i=0,ds=0; ????if(year%4==0){ ????????i=1; ????}else ????i=0; ???? ????switch(month-1) ????{ ????????case?12:ds=ds+31; ????????case?11:ds=ds+30; ????????case?10:ds=ds+31; ????????case?9:ds=ds+30; ????????case?8:ds=ds+31; ????????case?7:ds=ds+31; ????????case?6:ds=ds+30; ????????case?5:ds=ds+31; ????????case?4:ds=ds+30; ????????case?3:ds=ds+31; ????????case?2:ds=ds+28+i; ????????case?1:ds=ds+31; ????????default:printf("error"); ???????? ????} ????printf("是第%d天",ds+day); ???? ????return?0; }
輸出顯示: error是第一天
我沒有寫break 為什么case語句沒有被執行 而default語句會被執行呢
2019-08-26
switch
(month-1) ?這里錯了
1到10沒有符合條件的,就從default開始