在什么情况下,switch会不执行里面的case,直接跳过整个switch Block

xiaohou0701 2008-12-31 02:31:16

//刚刚碰到一个诡异问题.第一次switch,正常遍历里面的case,
//第二次以后,断点跟到switch(***),立刻跳到尾部,根本就不进去,
//这是怎么回事呢?
...全文
1061 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhtigt 2009-01-05
  • 打赏
  • 举报
回复
代码贴出来看看
lifengjiangol 2009-01-05
  • 打赏
  • 举报
回复
把断点设到下一行看看啦,
xuruichen 2009-01-05
  • 打赏
  • 举报
回复
不是所有的case 不符的情况下会default吗?

不遍历case和有没有default有什么关系??
yfk 2009-01-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 fibbery 的回复:]
例如:

C/C++ codeswitch(1)
{case2:
..case3:
}
[/Quote]
同意
herman~~ 2009-01-04
  • 打赏
  • 举报
回复
看看具体的代码吧
supkychen 2009-01-03
  • 打赏
  • 举报
回复
好象case里面不能定义int变量的,不知道为什么,难道是怕与switch里的参数混淆?
xiaohou0701 2009-01-03
  • 打赏
  • 举报
回复

//是没有写default,不过switch里面的值,我跟踪过去,是正常的。是某一个case的值。
//明天我再调试一下看看。谢谢各位。
jieao111 2008-12-31
  • 打赏
  • 举报
回复
关了再开
damo_xu 2008-12-31
  • 打赏
  • 举报
回复
老书上讲:不要迷信编译器。吼吼
waizqfor 2008-12-31
  • 打赏
  • 举报
回复
如果CASE是字符型的也是错的 也会直接跳过 去执行default语句
zjw6861982 2008-12-31
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 gql1123 的回复:]
引用 1 楼 fibbery 的回复:
没有default语句并且switch表达式的值不在case中时。

同意
[/Quote]
同意
gql1123 2008-12-31
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fibbery 的回复:]
没有default语句并且switch表达式的值不在case中时。
[/Quote]
同意
icesky_ff 2008-12-31
  • 打赏
  • 举报
回复
估计是没有写default吧
lbh2001 2008-12-31
  • 打赏
  • 举报
回复
具体的代码呢
lsd1025 2008-12-31
  • 打赏
  • 举报
回复
没有default语句并且switch表达式的值不在case中时。
估计是第二次进去switch前数据变了,没有匹配的case了
xiaoyisnail 2008-12-31
  • 打赏
  • 举报
回复
那估计是第二次进去switch前数据变了,没有匹配的case了

还是贴代码吧
ysuliu 2008-12-31
  • 打赏
  • 举报
回复
没有匹配的case吧。。

是不是你的switch(xxx) xxx用错类型了,用的float?
fibbery 2008-12-31
  • 打赏
  • 举报
回复
例如:

switch(1)
{
case 2:
..
case 3:
}
yellowhwb 2008-12-31
  • 打赏
  • 举报
回复
是不是case的值没有枚举到,然后又没有default处理!!
fibbery 2008-12-31
  • 打赏
  • 举报
回复
没有default语句并且switch表达式的值不在case中时。

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧