执行int i=10;switch(0){case1:i+=1;case2:i+=1;break;}后i=多少,为什么 ,谢谢

如题所述

打印结果为00
原因在于因为0对应的是case
0
所以打印出0
但是没有break
所以程序接着运行
所以打印第二个0
对于switch的理解你可能需要一点汇编知识
这里我用c语言的goto语句给你解释一下为什麽
switch(i)
//这里有一个查询表建立的过程。cpu会在这里判断i是什么数值,鉴于你这里i
是0
所以goto到a
{
a:
case
0:printf(.....);
//运行到这里由于没有break
程序不能结束此语句,所以继续运行
b:
case
2:printf(.........);break;
//break
的实质就是一个跳转
此处将会跳转到d出
c:
default
:
printf(..........);
}
d:
楼主可以将case
2中的break去掉
你会发现控制台(就是你第一次运行打印hello
world的黑框)会打印三个0
温馨提示:内容为网友见解,仅供参考
无其他回答

C语言 switch(0)后面的语句执行吗?
如果default语句在前面(不是switch语句最后一条语句的话,且后面没有break)则要执行后面的case直到遇到break或者执行完毕。如果是最后一条语句,也就执行完了,跳出switch语句

switch (){ case 0:{} case 1:{} case 2: {}} 我想用 if 判断执行了哪 ...
你可以直接在case里面 写要要执行别的代码。你可以定义一个标示符,进入了哪些case,然后if判断执行哪些代码

case 1:sum=1;break这break是什么意思
break就是跳出循环的意思,不管在switch,for,还是while这些循环中,只要遇到就跳出。顺便说一下continue,在for,while循环中,如果遇到continue,则跳出本次循环进入下次循环。比如 for(i=0;i<20;i++){ if(i==1)continue;……} 则表示当i等于1的时候不跑continue之后的内容,进入下一次循环,也...

int i=1,a=2;switch(a){case2:i+=1;case 3:i+=2:break; default:i...
i的值为4,具体过程为,执行完case 2后没有break语句跳出,继续执行case 3,遇到break跳出。这里要注意的是,若没有break语句,在找到第一个符合条件的case之后,除了执行这个case后所跟的那条语句之外,还将不加判断的继续执行这个switch结构中剩下的所有case后所跟的语句!

...j=0;执行下面语句后j的值是 while(i) switch(i) {case 1:i+=1...
观察一下i的变化规律,i在1~3之间时都会增加,否则会减少1,如果减少到1~3到范围又会增加,i没有减少到0到机会,而while到循环条件是i不等于0,所以会一直循环计算下去。

switch语句中case1执行完输入2执行case2该怎么办
在C\/C++里面,你可以在case1执行的代码段最后的break去掉,这样执行完case1之后就会执行case2

c语言题,switch(i)中的i有什么含义吗,case中的1、2有什么含义吗,怎么会...
i是代表几,例如是1的话。那就是运行第一行代码。case1;如果是2的话,case:2其他的都一样。

...switch(i) { default: i+=2; case 1: i+=1; case 4:i+=8; case...
switch(i) { default: i+=2; case 1: i+=1; case 4:i+=8; case 2: i+=4;}由于没有break, 每个分支都会被执行 switch的规则是, 跳到指定的case或者default,然后运行到break或者switch结束为止。这里i=0 不是1 4 2中的任何一个, 执行default 由于没有break,会依次执行...

关于c语言中的break用法
当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则将成为一个死循环而无法退出。break在switch 中的用法已在前面介绍开关语句时的例子中碰到。当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句,通常break语句总是与if...

switch(1) { case 1: …… break; case2: …… break; } 这段代码是...
你好 这个是不会进case2的,要进那个需要看,switch(n)中的n的值,n和那个case*匹配就会进入那个case。执行里面的语句,直到遇到break;终止,跳出switch。希望可以帮到你,望选为满意答案

相似回答
大家正在搜