我个人很少用switch函数,就经常忘记,所以写这个代码,帮助我自己理解,希望也能帮助你吧!
先写一个简单的代码:
#include <stdio.h>
int main()
{
?? ?int i = 0;
?? ?scanf("%d",&i);
?? ?switch(i)//switch中的变量必须是常数(有二种请况:整数或字符)
?? ?{
?? ?case 1: //case : 后加 i 的可能取值
?? ??? ?printf("monday\n");
?? ??? ?break;//用于跳出循环(这里指跳出switch)
?? ?case 2:
?? ??? ?printf("tuesday\n");
?? ??? ?break;
?? ?case 3:
?? ??? ?printf("wednesday\n");
?? ??? ?break;
?? ?case 4:
?? ??? ?printf("thursday\n");
?? ??? ?break;
?? ?case 5:
?? ??? ?printf("friday\n");
?? ??? ?break;
?? ?case 6:
?? ??? ?printf("saturday\n");
?? ??? ?break;
?? ?case 7:
?? ??? ?printf("sunday\n");
?? ??? ?break;
?? ?default://指除上述其他情况的取值(注意可以把default放在前面)
?? ??? ?printf("错误\N");
?? ??? ?break;
?? ?}
?? ?return 0;
}
下面的代码写失去break之后的影响:
#include <stdio.h>
int main()
{
?? ?int i = 0;
?? ?scanf("%d",&i);
?? ?switch(i)
?? ?{
?? ?case 1:
?? ??? ?printf("monday\n");
?? ??? ?//break;
?? ?case 2:
?? ??? ?printf("tuesday\n");
?? ??? ?//break;
?? ?case 3:
?? ??? ?printf("wednesday\n");
?? ??? ?//break;
?? ?case 4:
?? ??? ?printf("thursday\n");
?? ??? ?//break;
?? ?case 5:
?? ??? ?printf("friday\n");
?? ??? ?//break;
?? ?case 6:
?? ??? ?printf("saturday\n");
?? ??? ?//break;
?? ?case 7:
?? ??? ?printf("sunday\n");
?? ??? ?//break;
?? ?default:
?? ??? ?printf("错误\n");
?? ??? ?//break;
?? ?}
?? ?return 0;
}
下面的代码写default放在前面时:
#include <stdio.h>
int main()
{
?? ?int i = 0;
?? ?scanf("%d",&i);
?? ?switch(i)
?? ?{
?? ?case 1:
?? ??? ?printf("monday\n");
?? ??? ?break;
?? ?case 2:
?? ??? ?printf("tuesday\n");
?? ??? ?break;
?? ?default:
?? ??? ?printf("错误\n");
?? ??? ?break;
?? ?case 3:
?? ??? ?printf("wednesday\n");
?? ??? ?break;
?? ?case 4:
?? ??? ?printf("thursday\n");
?? ??? ?break;
?? ?case 5:
?? ??? ?printf("friday\n");
?? ??? ?break;
?? ?case 6:
?? ??? ?printf("saturday\n");
?? ??? ?break;
?? ?case 7:
?? ??? ?printf("sunday\n");
?? ??? ?break;
?? ?
?? ?}
?? ?return 0;
}