亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么這么寫是錯的?

#include <stdio.h>

int main()?

{?

? ? /* 定義需要計算的日期 */

? ? int year = 2008;

? ? int month = 8;

? ? int day = 8;

? ? /*

? ? ?* 請使用switch語句,if...else語句完成本題

? ? ?* 如有想看小編思路的,可以點擊左側任務中的“不會了怎么辦”

? ? ?* 小編還是希望大家獨立完成哦~

? ? ?*/

? ? switch(month)?

? ? {

? ? ? ? cese1:

? ? ? ? ? ? sum1=132;

? ? ? ? ? ? break;

? ? ? ? case2:

? ? ? ? ? ? if(year%4==0)

? ? ? ? ? ? ? ? sum2=29;

? ? ? ? ? ? else

? ? ? ? ? ? ? ? sum2=28;

? ? ? ? case3:

? ? ? ? ? ? sum3=60;

? ? ? ? ? ? break;

? ? }

? ? sum=sum1+sum2+sum3;

? ? printf("%d%d%d是該年的第%d天",year,month,day,sum);

return 0;

}


正在回答

3 回答

1、case 和常量表達式之間要有空格,否則會被認為是一個標識符,而起不到case的作用;

2、變量sum1、2、3,均未定義就直接用,這是不允許的;

3、switch語句中,一旦遇到break就會跳出;而如果case后面沒有break,會一直往后執行,一直到遇到break,這道題的目的是所有月份加和,希望的是最后跳出,所以中間的case不要加break,只有最后有一個break;

4、如果想輸出2008年8月8日是該年的第221天,?可以這樣輸printf("%d年%d月%d日是該年的第%d天",year,month,day,sum);如果按您的輸入?printf("%d%d%d是該年的第%d天",year,month,day,sum);會輸出結果200888是該年的第221天


1 回復 有任何疑惑可以回復我~
#1

諾丁漢 提問者

非常感謝!
2017-01-06 回復 有任何疑惑可以回復我~

存和的變量沒有定義,應該是int sum=0;

0 回復 有任何疑惑可以回復我~

嗯,switch值得是括號里的數為什么的時候就執行case幾,比如switch(month) 中month是等于8的,執行從case 8開始執行,break時用于跳出switch

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C語言入門
  • 參與學習       926904    人
  • 解答問題       21532    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

為什么這么寫是錯的?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號