如何正确运用Switch语句并规避潜在问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计461个文字,预计阅读时间需要2分钟。
%E2%80%9CSwitch%E8%AF%AD%E5%8F%A5%E6%98%AF%E4%B8%80%E7%A7%8D%E5%A4%9A%E8%B7%AF%E5%BE%84%E7%9A%84%E6%8E%A7%E5%88%B6%E7%BB%93%E6%9E%84%EF%BC%8C%E4%BD%BF%E7%94%A8case%E3%80%81break%E3%80%81default%E8%BF%9B%E8%A1%8C%E6%8E%A7%E5%88%B6%EF%BC%8C%E6%8E%A7%E5%88%B6%E7%A8%8B%E5%BA%8F%E7%9A%84%E6%89%A7%E8%A1%8C%E6%B5%81%E7%A8%8B%E2%80%9D
+ Break%E6%8E%A7%E5%88%B6%E9%80%80%E5%87%BASwitch%E4%BB%A3%E7%A0%81%E5%9D%97%EF%BC%8C%E6%97%A0break%E5%88%B0%E5%BA%8F%E6%89%A7%E8%A1%8C%E4%B8%8B%E4%B8%80%E4%B8%AA%E6%88%90%E5%8A%9F%E7%9A%84case%E3%80%82
+ default%E8%AF%AD%E5%8F%A5%E5%8F%AF%E4%BB%A5%E5%AE%9A%E4%BD%8D%E6%97%A0%E6%9C%89%E6%88%90%E5%8A%9F%E7%9A%84case%E6%83%B3%E6%89%A7%E8%A1%8C%E7%9A%84%E4%BB%A3%E7%A0%81%E3%80%82
Switch语句是一种多分支选择结构,与case、break、default配合使用,控制程序运行流程。
Break控制退出Switch代码块,如果不使用break控制,程序会顺序执行后续case语句中的代码。
default可以用来做错误处理,专门处理case以外的所有情况。
int main() {
int day = 0;
printf("请输入数字:");
scanf("%d", &day);
switch (day) {
case 1:
printf("今天星期%d\n", day);
break;
case 2:
printf("今天星期%d\n", day);
break;
case 3:
printf("今天星期%d\n", day);
break;
case 4:
printf("今天星期%d\n", day);
break;
case 5:
printf("今天星期%d\n", day);
break;
case 6:
printf("今天星期%d\n", day);
break;
case 7:
printf("今天星期%d\n", day);
break;
default:
printf("对不起,没有星期%d\n", day);
break;
}
return 0;
}
输出结果:
switch语句支持嵌套使用
int main() {
int n = 1;
int m = 2;
switch (n) {
case 1:
m++;
case 2:
n++;
case 3:
switch (n) {
case 1:
n++;
case 2:
n++;
m++;
break;
}
case 4:
m++;
default:
break;
}
printf("m = %d, n = %d", m, n);
return 0;
}
输出结果:
本文共计461个文字,预计阅读时间需要2分钟。
%E2%80%9CSwitch%E8%AF%AD%E5%8F%A5%E6%98%AF%E4%B8%80%E7%A7%8D%E5%A4%9A%E8%B7%AF%E5%BE%84%E7%9A%84%E6%8E%A7%E5%88%B6%E7%BB%93%E6%9E%84%EF%BC%8C%E4%BD%BF%E7%94%A8case%E3%80%81break%E3%80%81default%E8%BF%9B%E8%A1%8C%E6%8E%A7%E5%88%B6%EF%BC%8C%E6%8E%A7%E5%88%B6%E7%A8%8B%E5%BA%8F%E7%9A%84%E6%89%A7%E8%A1%8C%E6%B5%81%E7%A8%8B%E2%80%9D
+ Break%E6%8E%A7%E5%88%B6%E9%80%80%E5%87%BASwitch%E4%BB%A3%E7%A0%81%E5%9D%97%EF%BC%8C%E6%97%A0break%E5%88%B0%E5%BA%8F%E6%89%A7%E8%A1%8C%E4%B8%8B%E4%B8%80%E4%B8%AA%E6%88%90%E5%8A%9F%E7%9A%84case%E3%80%82
+ default%E8%AF%AD%E5%8F%A5%E5%8F%AF%E4%BB%A5%E5%AE%9A%E4%BD%8D%E6%97%A0%E6%9C%89%E6%88%90%E5%8A%9F%E7%9A%84case%E6%83%B3%E6%89%A7%E8%A1%8C%E7%9A%84%E4%BB%A3%E7%A0%81%E3%80%82
Switch语句是一种多分支选择结构,与case、break、default配合使用,控制程序运行流程。
Break控制退出Switch代码块,如果不使用break控制,程序会顺序执行后续case语句中的代码。
default可以用来做错误处理,专门处理case以外的所有情况。
int main() {
int day = 0;
printf("请输入数字:");
scanf("%d", &day);
switch (day) {
case 1:
printf("今天星期%d\n", day);
break;
case 2:
printf("今天星期%d\n", day);
break;
case 3:
printf("今天星期%d\n", day);
break;
case 4:
printf("今天星期%d\n", day);
break;
case 5:
printf("今天星期%d\n", day);
break;
case 6:
printf("今天星期%d\n", day);
break;
case 7:
printf("今天星期%d\n", day);
break;
default:
printf("对不起,没有星期%d\n", day);
break;
}
return 0;
}
输出结果:
switch语句支持嵌套使用
int main() {
int n = 1;
int m = 2;
switch (n) {
case 1:
m++;
case 2:
n++;
case 3:
switch (n) {
case 1:
n++;
case 2:
n++;
m++;
break;
}
case 4:
m++;
default:
break;
}
printf("m = %d, n = %d", m, n);
return 0;
}
输出结果:

