C语言中switch语句的用法 15

switch语句的用法,一般都是它后面的表达式跟case后面的表达式的异同,还判断是否执行case后面的语句的,而里面的daufault就是计算等程度执行case的次数,... switch语句的用法,一般都是它后面的表达式跟case后面的表达式的异同,还判断是否执行case后面的语句的,而里面的daufault就是计算等程度执行case的次数,这是我对这个语句的理解,但是,在下面的那个习题中,好像用这个算不出来

下面程序的输出是 v1=5,v2=8,v3=6,v4=1
main()
{
char *s="12134211";
int v1=0,v2=0,v3=0,v4=0,k;
for(k=0;s[k];k++)
switch(s[k])
{
daufault: v4++;
case'1':v1++;
case'3':v3++;
case'2':v2++;
}
printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);
}
展开
 我来答
惠企百科
2022-12-01 · 百度认证:北京惠企网络技术有限公司官方账号
惠企百科
惠企百科网是一家科普类综合网站,关注热门中文知识,集聚互联网精华中文知识,本着自由开放、分享价值的基本原则,向广大网友提供专业的中文知识平台。
向TA提问
展开全部

执行过程:

  1. 先计算并获得switch后面小括号里的表达式或变量值,然后将计算结果顺序与每个case后的常量比较。

  2. 当二者相等时,执行个case块中的代码,当遇到break时,就跳出switch选择结构,执行switch选择结构之后的代码。

  3. 如果任何一个case之后的常量与switch后的小括号中的值相等,则执行switch尾部的default块中代码。

缪玉枝愚莺
2020-04-13 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:24%
帮助的人:901万
展开全部
在每个case语句后加上break语句(即在每个printf语句后加上一句break;),执行break后直接跳出switch。这样就只输出一个了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乐正涵柳3
2007-03-21 · TA获得超过952个赞
知道小有建树答主
回答量:650
采纳率:100%
帮助的人:694万
展开全部
下面程序的输出是 v1=5,v2=8,v3=6,v4=1
main()
{
char *s="12134211";
int v1=0,v2=0,v3=0,v4=0,k;
for(k=0;s[k];k++)
switch(s[k])
{
daufault: v4++; break;
case'1':v1++; break;
case'3':v3++; break;
case'2':v2++; break;
}
printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);
}

你的代码错误,每个case最后一句要加break,否则继续执行。
表示根据s[k]的值选择执行的语句。daufault表示如果其它的条件都不符合就执行daufault后边的语句
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
商远城和美
2020-04-15 · TA获得超过3656个赞
知道大有可为答主
回答量:3063
采纳率:26%
帮助的人:485万
展开全部
程序运行过程如图
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式