A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张水 中级黑马   /  2015-10-20 22:53  /  1719 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#include<stdio.h>
int main(){

int x = 2,y=3;
switch(x)
{
    case 2:
        y++;
    case 3:
        y+=2;
    case 4:
        y+=3;
    default:
        y = 0;
        break;
}
printf("y=%d\n", y);
    return 0;
}

7 个回复

倒序浏览
y=0,全都穿透了
回复 使用道具 举报

为什么不等于4,x不是赋值为2了吗
回复 使用道具 举报
陌忆 发表于 2015-10-21 23:43
为什么不等于4,x不是赋值为2了吗

x=2,所以运行case 2,但是因为没有break,所以会继续运行case 3,一直运行到default里面,y被赋值为0,然后break了
回复 使用道具 举报
Y=0!你想表达什么
回复 使用道具 举报
Brisingr 发表于 2015-10-22 06:36
x=2,所以运行case 2,但是因为没有break,所以会继续运行case 3,一直运行到default里面,y被赋值为0,然后 ...

原来是这样啊,多谢了
回复 使用道具 举报
楼上面几位已经帮你解答了
回复 使用道具 举报
张水 中级黑马 2015-10-23 21:49:32
8#
Brisingr 发表于 2015-10-22 06:36
x=2,所以运行case 2,但是因为没有break,所以会继续运行case 3,一直运行到default里面,y被赋值为0,然后 ...

谢谢师兄
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马