關(guān)于switch問題
為什么這樣不行
#include <stdio.h>
int main()?
{
? ? int score = 87; //考試分?jǐn)?shù)為87分?
? ??
? ? switch(score)
? ? {
? ? ? ? /*想想以下代碼為什么用這種方式;
? ? ? ? ? 這種方式的好處?*/
? ? ? ??
? ? ? ? case 1:
? ? ? ? ? ? if(score>=90)
? ? ? ? ? ? printf("等級(jí)A");
? ? ? ? ? ? break;
? ? ? ? case 2:
? ? ? ? ? ? if(score>=80)
? ? ? ? ? ? printf("等級(jí)B");
? ? ? ? ? ? break;? ? ? ? ? ? ? ? //這里是不是缺點(diǎn)什么?? ? ? ? ? ??
? ? ? ? case 3:?
? ? ? ? ? ? if(score>=60)
? ? ? ? ? ? printf("等級(jí)C");
? ? ? ? ? ? break;? ? ? ? ? ? ? ? //這里是不是缺點(diǎn)什么???
? ? ? ? case 4:
? ? ? ? ? ? if(score<60)
? ? ? ? ? ? printf("等級(jí)D");
? ? ? ? ? ? break;? ??
? ? }
? ? return 0;
}為什么不行
2018-05-10
switch語句本身就是一個(gè)判斷語句,一般情況下可以直接判斷,除非一些特別復(fù)雜的,switch(x)對應(yīng)casex:,你懂我的意思把
2018-05-10
#include <stdio.h>
int main()
{
??? int score = 87; //考試分?jǐn)?shù)為87分
???
??? switch(score)
??? {
??????? /*想想以下代碼為什么用這種方式;
????????? 這種方式的好處?*/
???????
??????? case 1:
??????????
??????????? printf("等級(jí)A");
??????????? break;
??????? case 87:
??????????
??????????? printf("等級(jí)B");
??????????? break;??????????????? //這里是不是缺點(diǎn)什么????????????
??????? case 3:
??????????
??????????? printf("等級(jí)C");
??????????? break;??????????????? //這里是不是缺點(diǎn)什么??
??????? case 4:
??????????
??????????? printf("等級(jí)D");
??????????? break;???
??? }
??? return 0;}
然后我把你所有的if去掉,也成功輸出b,從這里可以看出來你的if語句是多余判斷
2018-05-10
2018-05-05
#include <stdio.h>
int main()?
{
? ? int score = 87; //考試分?jǐn)?shù)為87分?
? ? score/=10; //強(qiáng)制我寫的,,,int ?87/10=8;所以執(zhí)行case 8;?
? ? switch(score)
? ? {
? ? ? ? /*想想以下代碼為什么用這種方式;
? ? ? ? ? 這種方式的好處?*/
? ? ? ? case 10:
? ? ? ? case 9:
? ? ? ? ? ? printf("等級(jí)A");
? ? ? ? ? ? break;
? ? ? ? case 8:
? ? ? ? ? ? printf("等級(jí)B");
? ? ? ? ? ? break; ? ? ? ? ?//這里是不是缺點(diǎn)什么? ? ? ? ? ? ?
? ? ? ? case 7:
? ? ? ? case 6:?
? ? ? ? ? ? printf("等級(jí)C");
? ? ? ? ? ? break; ? ? ? ? ?//這里是不是缺點(diǎn)什么? ?
? ? ? ? default:
? ? ? ? ? ? printf("等級(jí)D");
? ? ? ? ? ? break; ? ?
? ? }
? ? return 0;
}