关于switch应用 C++

来源:百度知道 编辑:UC知道 时间:2024/06/08 16:13:50
int n=3;
switch(n)
{ case 1: n=n+1;
case 2: n+=2;
case 3: n+=3;
case 4: n+=4;
default: n+=1;
}
printf("n=%d",n);

输出结果应是: n=11 为什么等于11``
int n=3;
switch(n)
{ case 1: n=n+1;break;
case 2: n+=2;break;
case 3: n+=3;break;
case 4: n+=4;break;
default: n+=1;
}
printf("n=%d",n);

输出结果应是: n=6
为什么执行 n+=3; 为什么不执行其他的``

defult 是什么含义```
break跳出 switch执行 case什么意思`` 为什么从N+3执行上面不是也有 brcak么``第一个题 上面没有break``为什么答案是 11``case1-4 分别是N+4 5 6 7 8```最后一个是 跳出n+1是什么意思 谁能够解释没句的意思``我追加 50分``如果遇到break; 则 跳出switch不再往后执行,若没有则继续往后执行其它的分支且不再进行匹配,上面的题中,n=3,与case 3:匹配,执行n+=3,得n=6,没有break,继续往后执行,不匹配,有n+=4;得n=10,再n+=1;有n=11, 输出。而下面那个直接匹配case 3:执行n+=3;得n为6,break;跳出switch结构,所以最后输出6 为什么只有从 n+=3才匹配

defult就是说如果你输入的不是 1,2,3,4而是其他的数字!
前面的那个程序没有break 所以不返回,从n+=3一直到n+=1都执行,但是下面的那个程序有break;就只执行n+=3;
switch()
{case x:… ;break;
}
break就是跳出switch;执行 '}' 后面的语句。

dafault 指的是排除上面case列举之外的其他情况
没有用break;的话,那么程序在运行时找到第一个匹配然后执行,那么不会立即跳出,而是继续往后顺序执行所有的分支,直到switch结构结束
用了break;则会在执行完匹配的分支后跳出而不会继续执行后面的分支

case是switch语句里的分支,当执行switch结构时,将switch后的表达式值与下面的每一个case后面的常量值进行匹配,当遇到相等的时,就去执行对应的分支所在的语句,如果遇到break; 则 跳出switch不再往后执行,若没有则继续往后执行其它的分支且不再进行匹配,上面的题中,n=3,与case 3:匹配,执行n+=3,得n=6,没有break,继续往后执行,不匹配,有n+=4;得n=10,再n+=1;有n=11, 输出。而下面那个直接匹配case 3:执行n+=3;得n为6,break;跳出switch结构,所以最后输出6

case 3: 这里的3与n=3相等啊,就匹配了

c中是case 'x'啊

c++难道是case x?郁闷了 连着都不知道。。

default 你可以想象是相当于 函数里的 return
就是立即结束 switch的执行

int length = LengthList();

if (x<0 || x>length)
{
return false;
}

ltb *temp=head;

for(int i=1;i<x;i++)
{
temp = temp->next;