求大佬解惑為什么我這樣不行
#include <stdio.h>
int main()?
{
? ? int score = 87; //考試分?jǐn)?shù)為87分?
? ??
? ? switch(score)
? ? {
? ? ? ? /*想想以下代碼為什么用這種方式;
? ? ? ? ? 這種方式的好處?*/
? ? ? ? case 10:
? ? ? ? case 9:if(score>=90)
? ? ? ? ? ? printf("等級(jí)A");
? ? ? ? ? ? break;
? ? ? ? case 8:if(score<90||score>=80)
? ? ? ? ? ? printf("等級(jí)B");
? ? ? ? ? ? ? ?break;? ? ? ? ? ?
? ? ? ? case 7:
? ? ? ? case 6: if(score<80||score>=60)
? ? ? ? ? ? printf("等級(jí)C");
? ? ? ? ? ? ?break;??
? ? ? ? default:
? ? ? ? ? ? printf("等級(jí)D");
? ? ? ? ? ? break;? ??
? ? }
? ? return 0;
}
2024-08-22
你這樣其實(shí)都沒有進(jìn)入switch循環(huán),進(jìn)入switch循環(huán)的話是根據(jù)score的值進(jìn)行判斷執(zhí)行哪一個(gè)case語句的。
你的考試分?jǐn)?shù)是87,所以實(shí)際執(zhí)行代碼是“switch(87)”,在case語句里沒有一個(gè)case后面的值是87,所以就沒有進(jìn)入到switch循環(huán)里面。所有不行的。