谁给解释下这个输出
时间:2010-08-09
来源:互联网
for (int i = 0; i < 5; i++)
{
switch (i)
{
case 4:
{
printf("4\n");
break;
{
case 1:
printf("1\n");
break;
}
}
case 2:
printf("2\n");
break;
}
}
输出:
1
2
4
为什么会走case 1的分支?我在VC2010和gcc下得到的输出是一致的。
{
switch (i)
{
case 4:
{
printf("4\n");
break;
{
case 1:
printf("1\n");
break;
}
}
case 2:
printf("2\n");
break;
}
}
输出:
1
2
4
为什么会走case 1的分支?我在VC2010和gcc下得到的输出是一致的。
作者: yayapa 发布时间: 2010-08-09
第一次见这么写case的
LZ是不是有点闲得慌呀

LZ是不是有点闲得慌呀
作者: hellioncu 发布时间: 2010-08-09
为什么不会?
作者: caravsapm70 发布时间: 2010-08-09
case定位的本质是goto到对应标号。可以查看汇编码去确认下。
作者: davelv 发布时间: 2010-08-09
QUOTE:
为什么不会?
caravsapm70 发表于 2010-08-09 17:33
caravsapm70 发表于 2010-08-09 17:33
同问 为什么不会?
作者: kmindg 发布时间: 2010-08-09
- .L7:
- movl 28(%esp), %eax
- cmpl $2, %eax
- je .L5
- cmpl $4, %eax
- je .L6
- cmpl $1, %eax
- je .L4
- jmp .L3
话说你这么写还真蛋疼…………
作者: daybreakcx 发布时间: 2010-08-09
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28