Trending News
請問一下switch VS if!!!!!
請問一下程設的問題
switch和if可以一起用嗎?
如果可以的話!
要怎麼使用呢?
可以舉個範例嗎??
那可以這樣使用嗎?
if
{
switch(a)
{case1:
break;
case2:
break;
}
2 Answers
- 1 decade agoFavorite Answer
switch跟if敘述可以一起用,只要把if敘述加到case下就可以了
case下可加任何敘述,像迴圈也可以(for,while...)
switch(condition)
{
case c1:
break;
default:
break;
}
condition必須是「整數」(字元也算整數)且case條件式(c1)不可做範圍比較,必須為固定值
當然你可以用多個case條件式來完成某個範圍值域比對
但是如果是要比對某個範圍值用if()敘述會比較省事多了
以下2段程式結果是一樣的,但用switch就顯得冗長
尤其在範圍值域更大的時候
EX1:
if(rank>=1 && rank<=3)
{
printf("OK");
}
EX2:
switch(rank)
{
case 1:
case 2:
case 3:
printf("OK");
break;
default:
break;
}
以下範例,假如名次在前3名且成績達75分以上則可申請獎學金:
#include <stdio.h>
main()
{
int rank=1; //名次
int scope=80; //成績
switch(rank)
{
case 1:
case 2:
case 3:
if(scope >= 75)
printf("符合獎學金申請資格\n");
else
printf("成績未達申請資格\n");
break;
default:
printf("名次未達資格\n");
break;
}
system("pause");
}
2008-04-04 10:22:44 補充:
if加在外層也是可以,不過你的if沒加條件式喔
if(b) //假如b為真,則執行以下敘述
{
switch(a)
{case1:
break;
case2:
break;
}
Source(s): me - 1 decade ago
可以壓
例如一個成績分數score<60是不及格,然後score=70尚可
,score=80不錯,score=90很好,score=100很棒,
那就可以用switch去做,這樣程式反而就比較好觀看
,而且不用每一行都用if。
Source(s): 自己