当前位置:   article > 正文

【C语言】switch中无break的情况_c++ switch 没有break

c++ switch 没有break

菜鸡自学

switch…case的三个规则:

(1)既无成功匹配,又无default字句,那么swtich语句块什么也不做;
(2)无成功匹配,但有default,那么swtich语句块做default语句块的事;
(3)有成功匹配,没有break,那么成功匹配后,一直执行,直到遇到break。

int x,y,z; x=0;y=0; z=1;
    switch(z)
    {
     case 0:y++;
     case 1:x++;   //无break;
     case 2:x++;y++;
     case 3:x++;y++
    }
    printf(" x=%d,y=%d,\n",x,y);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

执行case 1 之后的语句,直到遇到break停止,无break所以结果为x=3. y=2

int x,y,z; x=0;y=0; z=1;
    switch(z)
    {
     case 0:y++;
     case 1:x++;   break;
     case 2:x++;y++;
     case 3:x++;y++
    }
    printf(" x=%d,y=%d,\n",x,y);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

有break,只执行case 1,结果x=1,y=0

更多详情移步:我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《switch…case 没有break问题》, 一起来围观吧 https://blog.csdn.net/rammuschow/article/details/107051105?utm_source=app

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/728760
推荐阅读
相关标签
  

闽ICP备14008679号