c语言 大家看看 default的位置问题

2025-02-26 20:19:09
推荐回答(5个)
回答1:

#include

int main(void)
{
int k=5,n=0;

while(k>0)
{
switch(k)
{
case 1: n+=k;
default: break;
case 2:
case 3: n+=k;

}
k--;
}

printf("%d",n);
}

k=5,break
k=4,break
k=3,n=0+3=3
k=2,n=3+2=5
k=1,n=5+1=6,break

default可以放在switch语句中的任何位置。。

第二个

k=5,break
k=4,break
k=3,n=0+3=3
k=2,n=3+2=5
k=1,n=5+1=6,n=6+1=7

回答2:

default 应放在最后一个case的后面。

回答3:

default总是放在最后,default后不需要break语句.并且,default部分也不是必须的.

回答4:

default放在开头和结尾效果都是一样的。
当k=5,k=4时都是直接执行default语句输出,k=3,执行n+=k,n=3,当k=2,n+=k,n=5因为没有break语句继续执行下一个n+=k,n=7,当k=1,n=8最后n=8

回答5:

{
default :break;
case 1:n+=k;break;
case 2:break;
case 3: n+=k;break;
}

每个 case 完毕 要 break;
否则 1个 case 完毕 不结束,接着做下一个case的语句。