请问c语言中switch中的case的冒号后面能加一个程序块吗?初学,望大神指教

就是比如这样写合法吗?#include<stdio.h>intmain(){inta;scanf("%d",&a);switch(a){case1:{intb,c=1;f... 就是比如这样写合法吗?
#include<stdio.h>
int main()
{
int a;
scanf("%d",&a);
switch(a)
{
case 1:{int b,c=1;
for (b=5;b<=8;b++)
c=c+b;
printf("%d",c);
}break;
展开
 我来答
cjj796
推荐于2017-11-26 · TA获得超过8709个赞
知道大有可为答主
回答量:1.3万
采纳率:68%
帮助的人:3644万
展开全部

你好!! 

    

    这样做是可以的,注意书写格式,便于以后自己阅读程序方便

    #include<stdio.h>    
    int main()
    {
     int a;
     scanf("%d",&a);
     switch(a)
     {
     case 1:{int b,c=1;
        for (b=5;b<=8;b++)
     c=c+b;
     printf("%d",c);
       }break;
     }
    }
创作者cEAuJVqdZc
2020-04-14 · TA获得超过3750个赞
知道大有可为答主
回答量:3066
采纳率:24%
帮助的人:419万
展开全部
当然可以
switch(a)
{
case
1:
b=1;
//进入case
1后即执行往下的语句,直到碰到break
跳出switch语句
c=2;
d=3;
....
break;
default:break;
}
因为要碰到break才能跳出,所以还有这种用法
switch(a)
{
case
1:
b=1;
//进入case
1后即执行往下的语句,同样执行case
2下的语句
直到break
c=2;
d=3;
....
case
2:
b=3;
c=2;
d=1;
break;
default:break;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大BoyBoy
2013-10-25 · 超过14用户采纳过TA的回答
知道答主
回答量:56
采纳率:100%
帮助的人:28万
展开全部
case后面是整型或字符型常量表达式,因此程序块是不可取的。希望能采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cqpcy
2013-10-25 · TA获得超过658个赞
知道小有建树答主
回答量:746
采纳率:66%
帮助的人:373万
展开全部
当然可以
switch(a)
{
case 1: b=1; //进入case 1后即执行往下的语句,直到碰到break 跳出switch语句
c=2;
d=3;
....
break;
default:break;
}
因为要碰到break才能跳出,所以还有这种用法
switch(a)
{
case 1: b=1; //进入case 1后即执行往下的语句,同样执行case 2下的语句 直到break
c=2;
d=3;
....
case 2: b=3;
c=2;
d=1;
break;
default:break;
}
追问
哦,也就是说不用加括号了?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shashade898
2013-10-25 · 超过10用户采纳过TA的回答
知道答主
回答量:73
采纳率:0%
帮助的人:23.7万
展开全部
当然可以。但是后面的代码块一定要加大括号。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式