C++ switch 语句嵌套示例解析
C++ switch 语句嵌套示例解析
以下代码是一个简单的 C++ 程序,其目的是计算变量 m 的值:
int main()
{
int a = 16, b = 21, m = 0;
switch (a % 3)
{
case 0:
m++;
break;
case 1:
m++;
switch (b % 2)
{
default :
m++;
case 0:
m++;
break;
}
}
cout << m ;
}
代码解析
- 变量初始化: 程序首先定义了三个整型变量 a、b 和 m,并分别初始化为 16、21 和 0。
- 外部 switch 语句: 使用
switch (a % 3)根据 a 对 3 取模的结果进行判断:- case 0: 如果
a % 3的结果为 0,则执行m++语句,并将 m 的值加 1,然后通过break语句跳出外部 switch 语句。 - case 1: 如果
a % 3的结果为 1,则执行m++语句,并将 m 的值加 1,然后进入内部 switch 语句。
- case 0: 如果
- 内部 switch 语句: 使用
switch (b % 2)根据 b 对 2 取模的结果进行判断:- default: 由于 default 位于 case 0 之前,无论
b % 2的结果是什么,都会先执行m++语句,并将 m 的值加 1。 - case 0: 如果
b % 2的结果为 0,则执行m++语句,并将 m 的值加 1,然后通过break语句跳出内部 switch 语句。
- default: 由于 default 位于 case 0 之前,无论
- 输出结果: 最后,使用
cout << m;语句输出变量 m 的值。
输出结果
根据上述代码逻辑,程序将输出 2。
总结
这段代码演示了 C++ 中 switch 语句的嵌套使用。需要注意的是,default 语句可以出现在 switch 语句中的任何位置,并不一定在最后。在上面的例子中,由于 default 语句在 case 0 之前,所以无论 b % 2 的结果是什么,都会先执行 default 中的语句。
原文地址: https://www.cveoy.top/t/topic/h57 著作权归作者所有。请勿转载和采集!