请问c语言高手,如果到case B,这个break是跳转到哪一步?是default 还是putchar?如果到default,还会继续走case c吗?
你好!据你所说,是关于break与continue的区别的问题:
问题解析:
case ‘B’中如果执行的这条语句,执行完break;然后就跳出整个switch语句,执行putchar('#');
题外补充几点相关的知识:
1).case 是与switch()一起连用的语句,语法:
switch (n)
{
case 1: 执行代码块1 break;
case 2: 执行代码块2 break;
default: 如果n即不是1也不是2,则执行此代码;
}
2).switch语句中如果出现break与continue,他们所造成的结果是什么呢?
当switch中执行了break将结束整个switch语句,也就是跳出switch语句,执行后面的代码,而如果continue,则是结束本次循环,执行下次循环,(在多次嵌套循环体中,当然你需要注意continue的作用域的问题),并且switch不是循环语句,你所示代码的应该是switch在一个循环体中(如for循环,while循环)。
以上属个人见解,如有纰漏请指出!楼主有疑问可继续追问!追问
问题解析:
case ‘B’中如果执行的这条语句,执行完break;然后就跳出整个switch语句,执行putchar('#');
题外补充几点相关的知识:
1).case 是与switch()一起连用的语句,语法:
switch (n)
{
case 1: 执行代码块1 break;
case 2: 执行代码块2 break;
default: 如果n即不是1也不是2,则执行此代码;
}
2).switch语句中如果出现break与continue,他们所造成的结果是什么呢?
当switch中执行了break将结束整个switch语句,也就是跳出switch语句,执行后面的代码,而如果continue,则是结束本次循环,执行下次循环,(在多次嵌套循环体中,当然你需要注意continue的作用域的问题),并且switch不是循环语句,你所示代码的应该是switch在一个循环体中(如for循环,while循环)。
以上属个人见解,如有纰漏请指出!楼主有疑问可继续追问!追问
谢谢您,让我在琢磨下
追答不客气!
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-10-12
这里的break 的作用是跳出图上的大括号的内容,然后执行下面的那个大括号后面的putchar(),当然,就是不管上面的那个大括号的上一个语句是什么,它的作用都是跳出上面的那个大括号上面的那个语句。
第2个回答 2013-10-12
恩,默认处执行。当所有条件都不符合的时候,会执行default,如果符合条件,碰到break,就会跳出switch,直接执行putchar('#')
第3个回答 2013-10-12
break的作用是跳出循环所以如果到了b分支的话就会跳出switch循环。
另一个如果走到default分支,由于没有break语句,是不会去判断是否是c分支的,会直接执行c分支后的语句追问
另一个如果走到default分支,由于没有break语句,是不会去判断是否是c分支的,会直接执行c分支后的语句追问
谢谢,你说的另一个正是我矛盾的,对了,请问,执行完case c,还没有执行putchar就直接回到for语句,那是因为有continue是嘛
追答是的。continue的作用是跳过continue下面的语句,直接进行下一次循环。所以putchar('#');肯定是跳过了。
第4个回答 2013-10-12
跳出switch,执行putchar();追问
请问continue怎么跳转呢