OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9402|回复: 18

C语言问题请教 switch case

[复制链接]

60

主题

204

帖子

0

精华

高级会员

Rank: 4

积分
503
金钱
503
注册时间
2014-2-28
在线时间
7 小时
发表于 2015-1-5 14:52:59 | 显示全部楼层 |阅读模式
5金钱
switch(temp)
{
        case a:
                for(i=0;i<8;i++)
                {
                    if(...1...)
                    {
                           temp=b;
                            break;
                    }
                   。。。。代码1
                   。。。。代码2
                }
                if(...2...)
                {
                    ...
                    break;
                }
                break;
        case b:
                ....
               break;
        case c:
                ....
               break;
}
。。。。代码3
。。。。代码4

我有这么几个疑问,在百度没找个称心的解答,所以向坛友请教一下,有这么个疑问:
(1)假如刚开始,另 temp=a,if(...1...)为真;进入switch语句,满足条件,跳入for循环,执行 if(...1...)里面的程序,
          此时遇到break是跳出if语句之后执行代码1还是跳出for循环继续执行if(...2...)呢?
       还是跳出case a 语句执行case b【因为if(...1...)已经赋值给temp】呢 ?
       或者是直接跳出switch执行代码3


最佳答案

查看完整内容[请看2#楼]

break只用于循环体和switch。这句话自己理解去
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

133

帖子

0

精华

初级会员

Rank: 2

积分
169
金钱
169
注册时间
2014-12-21
在线时间
1 小时
发表于 2015-1-5 14:53:00 | 显示全部楼层
break只用于循环体和switch。这句话自己理解去
流过汗水才能代表自己真的学会了如何不流汗。
回复

使用道具 举报

1

主题

108

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
352
金钱
352
注册时间
2012-11-8
在线时间
44 小时
发表于 2015-1-5 14:53:00 | 显示全部楼层
回复【2楼】交流zzk:
---------------------------------
break语句的意思是跳出当前循环,当执行到for循环里面的break,会跳出for循环转到if(..2..)语句,至于之后再转到哪里要看你(..2..)的条件;如果不在循环中碰到了break,则跳出当前case分支。
回复

使用道具 举报

1

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2014-12-16
在线时间
0 小时
发表于 2015-1-5 14:53:00 | 显示全部楼层
跳出for循环继续执行if(...2...), 
             if(...2...)
                {
                    ...
                    break;
                }
                break;
然后无论if(...2...)满不满足,都直接跳出switch
正在入门.........
回复

使用道具 举报

60

主题

204

帖子

0

精华

高级会员

Rank: 4

积分
503
金钱
503
注册时间
2014-2-28
在线时间
7 小时
 楼主| 发表于 2015-1-5 14:55:05 | 显示全部楼层
求拍醒!!!!!!!!!1
回复

使用道具 举报

0

主题

133

帖子

0

精华

初级会员

Rank: 2

积分
169
金钱
169
注册时间
2014-12-21
在线时间
1 小时
发表于 2015-1-5 15:00:54 | 显示全部楼层
用VC写一个程序,显示在电脑上不就可以了
流过汗水才能代表自己真的学会了如何不流汗。
回复

使用道具 举报

28

主题

1489

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1656
金钱
1656
注册时间
2013-7-24
在线时间
1 小时
发表于 2015-1-5 15:04:30 | 显示全部楼层
break只对switch()或循环有效。
于20150522停用该账号:http://www.microstar.club
回复

使用道具 举报

60

主题

204

帖子

0

精华

高级会员

Rank: 4

积分
503
金钱
503
注册时间
2014-2-28
在线时间
7 小时
 楼主| 发表于 2015-1-5 15:05:18 | 显示全部楼层
回复【3楼】花戒:
---------------------------------
VC++6.0老是出错,,被卸载了。。。
回复

使用道具 举报

0

主题

133

帖子

0

精华

初级会员

Rank: 2

积分
169
金钱
169
注册时间
2014-12-21
在线时间
1 小时
发表于 2015-1-5 15:06:04 | 显示全部楼层
卸载了不是偷懒的理由
流过汗水才能代表自己真的学会了如何不流汗。
回复

使用道具 举报

60

主题

204

帖子

0

精华

高级会员

Rank: 4

积分
503
金钱
503
注册时间
2014-2-28
在线时间
7 小时
 楼主| 发表于 2015-1-5 15:07:13 | 显示全部楼层
回复【6楼】花戒:
---------------------------------
我晕。。。。。。
你就当我不懂   赐教一下  怎么样
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12081
金钱
12081
注册时间
2013-3-8
在线时间
1284 小时
发表于 2015-1-5 15:16:03 | 显示全部楼层
回复【7楼】交流zzk:
---------------------------------
跳出for循环继续执行if(...2...)
回复

使用道具 举报

60

主题

204

帖子

0

精华

高级会员

Rank: 4

积分
503
金钱
503
注册时间
2014-2-28
在线时间
7 小时
 楼主| 发表于 2015-1-5 15:23:25 | 显示全部楼层
回复【9楼】augustedward:
---------------------------------那如果 继续执行下去的话,遇到break跳出switch--case a,还会因为temp=b而继续执行 case b么
回复

使用道具 举报

22

主题

2254

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4486
金钱
4486
注册时间
2013-4-22
在线时间
337 小时
发表于 2015-1-5 15:25:46 | 显示全部楼层
当然跳出for循环,继续执行下面的语句,自己调试一下就知道了
回复

使用道具 举报

60

主题

204

帖子

0

精华

高级会员

Rank: 4

积分
503
金钱
503
注册时间
2014-2-28
在线时间
7 小时
 楼主| 发表于 2015-1-5 15:27:36 | 显示全部楼层
回复【12楼】三叶草:
---------------------------------
还会接着进入 case b么? 因为if(...1...)重新赋值temp=b;
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12081
金钱
12081
注册时间
2013-3-8
在线时间
1284 小时
发表于 2015-1-5 15:30:25 | 显示全部楼层
回复【11楼】交流zzk:
---------------------------------
不会执行case b。因为下面还有break;
回复

使用道具 举报

34

主题

805

帖子

4

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1865
金钱
1865
注册时间
2011-3-29
在线时间
140 小时
发表于 2015-1-5 20:24:22 | 显示全部楼层
楼上诸位说的我都同意,嗯嗯。
业余程序玩家。
回复

使用道具 举报

11

主题

66

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2014-5-4
在线时间
0 小时
发表于 2015-1-5 21:54:59 | 显示全部楼层
对 continue是结束本次循环,直接进行下次循环;break是跳出这个循环,所以执行for(...2...)
行善,持咒
回复

使用道具 举报

14

主题

338

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
464
金钱
464
注册时间
2013-6-15
在线时间
15 小时
发表于 2015-1-5 22:40:57 | 显示全部楼层
这样的问题确实自己实践一下来的深刻
回复

使用道具 举报

36

主题

1263

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1612
金钱
1612
注册时间
2012-6-15
在线时间
39 小时
发表于 2015-1-6 11:25:32 | 显示全部楼层
【你输入的文字太少,这下多了吧】
建议论坛支持 直接图片粘贴, 而不用保存文件再上传这么麻烦

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-27 06:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表