#include<stdio.h>
int main ()
{
int n=1;
int m=2;
switch(n)
{
case 1: m++;
case 2: n++;
case 3:
switch(n)
{//switch允许嵌套使用
case 1: n++;
case 2: m++;
n++;
break;
}
case 4: m++;
break;
default:
printf("输入错误");
}
printf("m=%d, n=%d",m,n);
return 0;
}
猜一猜这串代码的结果
你猜对了吗?
如果不对
就好好看看我的下面的解释吧!
switch(整形表达式)//这里很重要一定是整形表达式,如果是float=1.0,则代码将会出错 { 语句项; }
而语句项就是一些case语句
case相当于进入switch语句的大门
case 整型常量表达式;//如果出现case 1.0\case n,对不起代码将会出现错误 语句;
break是跳出switch的钥匙🔑
正如上面的呢道题
n进入switch从case 1向下编译到case 2,case 3(只要没有遇到break)
如果你是这个思路的话,呢不好意思,下次注意!
switch (n) 重点就是n,这个n决定你从哪个case门进去,只要进去没有碰到break,咱们的整型就会正确的一直向下
switch(n)
{
case 1: m++;
case 2: n++;
case 3:
switch(n)
{//switch允许嵌套使用
case 1: n++;
case 2: m++;
n++;
break;
}
这两个switch(n)就是两个大门,第一个n=1输入,就从case 1向下进行到case 3这时有些小可爱和我一样就又从case 1向下进行,咔嚓咔嚓向下,呢不好意思,下次注意!
当到第二个switch(n)时 n 已经在case 2时进化成2了,所以它就直接从case 2向下遇到了break,遇到break就是另一个小坑。
上面说了break就像是一个出门的钥匙,但是一个钥匙只能开一个门,它只能让你的程序弹出离他最近的 “ } ”,程序仍会向下进行,直至弹出最后一个 “ } ”。
如果你是很认真的读完我写的这一篇文章,呢我会很感动,因为我自己都不想再读,哈哈哈 !感谢点进我文章的宝贝们,谢谢❤❤!