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

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

關于switch問題

為什么這樣不行

#include <stdio.h>

int main()?

{

? ? int score = 87; //考試分數為87分?

? ??

? ? switch(score)

? ? {

? ? ? ? /*想想以下代碼為什么用這種方式;

? ? ? ? ? 這種方式的好處?*/

? ? ? ??

? ? ? ? case 1:

? ? ? ? ? ? if(score>=90)

? ? ? ? ? ? printf("等級A");

? ? ? ? ? ? break;

? ? ? ? case 2:

? ? ? ? ? ? if(score>=80)

? ? ? ? ? ? printf("等級B");

? ? ? ? ? ? break;? ? ? ? ? ? ? ? //這里是不是缺點什么?? ? ? ? ? ??

? ? ? ? case 3:?

? ? ? ? ? ? if(score>=60)

? ? ? ? ? ? printf("等級C");

? ? ? ? ? ? break;? ? ? ? ? ? ? ? //這里是不是缺點什么???

? ? ? ? case 4:

? ? ? ? ? ? if(score<60)

? ? ? ? ? ? printf("等級D");

? ? ? ? ? ? break;? ??

? ? }

? ? return 0;

}為什么不行


正在回答

4 回答

switch語句本身就是一個判斷語句,一般情況下可以直接判斷,除非一些特別復雜的,switch(x)對應casex:,你懂我的意思把

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

#include <stdio.h>
int main()
{
??? int score = 87; //考試分數為87分
???
??? switch(score)
??? {
??????? /*想想以下代碼為什么用這種方式;
????????? 這種方式的好處?*/
???????
??????? case 1:
??????????
??????????? printf("等級A");
??????????? break;
??????? case 87:
??????????
??????????? printf("等級B");
??????????? break;??????????????? //這里是不是缺點什么????????????
??????? case 3:
??????????
??????????? printf("等級C");
??????????? break;??????????????? //這里是不是缺點什么??
??????? case 4:
??????????
??????????? printf("等級D");
??????????? break;???
??? }
??? return 0;}

然后我把你所有的if去掉,也成功輸出b,從這里可以看出來你的if語句是多余判斷

0 回復 有任何疑惑可以回復我~
我試了一下,輸出一個空結果,#include?<stdio.h>int?main()?{????int?score?=?87;?//考試分數為87分?????????switch(score)????{????????/*想想以下代碼為什么用這種方式;??????????這種方式的好處?*/????????????????case?1:????????????if(score>=90)????????????printf("等級A");????????????break;????????case?2:????????????if(score>=80)????????????printf("等級B");????????????break;????????????????//這里是不是缺點什么?????????????????????case?3:?????????????if(score>=60)????????????printf("等級C");????????????break;????????????????//這里是不是缺點什么???????????case?4:????????????if(score<60)????????????printf("等級D");????????????break;????????}????return?0;}
score=87然后開始運行switch語句也就是switch(87)我試了一下把case2改成case87成功輸出b

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

#include <stdio.h>

int main()?

{

? ? int score = 87; //考試分數為87分?

? ? score/=10; //強制我寫的,,,int ?87/10=8;所以執行case 8;?

? ? switch(score)

? ? {

? ? ? ? /*想想以下代碼為什么用這種方式;

? ? ? ? ? 這種方式的好處?*/

? ? ? ? case 10:

? ? ? ? case 9:

? ? ? ? ? ? printf("等級A");

? ? ? ? ? ? break;

? ? ? ? case 8:

? ? ? ? ? ? printf("等級B");

? ? ? ? ? ? break; ? ? ? ? ?//這里是不是缺點什么? ? ? ? ? ? ?

? ? ? ? case 7:

? ? ? ? case 6:?

? ? ? ? ? ? printf("等級C");

? ? ? ? ? ? break; ? ? ? ? ?//這里是不是缺點什么? ?

? ? ? ? default:

? ? ? ? ? ? printf("等級D");

? ? ? ? ? ? break; ? ?

? ? }

? ? return 0;

}


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

舉報

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

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

進入課程

關于switch問題

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

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

幫助反饋 APP下載

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

公眾號

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