switch中return和break的作用一样吗?

发布网友 发布时间:2022-04-23 02:50

我来回答

5个回答

热心网友 时间:2023-11-03 09:29

switch中return和break的作用是不一样的。

break是直接退出switch语句,return是退出该函数,也就是switch语句块后面的语句也不执行了。

使用break结束循环  break可以终止循环 和 switch语句的运行;break用于结束一个循环,即跳出循环体,执行循环体之后的代码。

return关键字不是专门用于结束循环,return的功能时结束一个方法。当一个方法遇到return语句时,这个方法将被结束。方法结束 , 执行权回到方法调用处。

扩展资料

switch是从上往下顺序选择,只执行一个符合条件的case,如果有两个符合条件的case,只执行最前面的一个case,如果没有符合的则什么都不会执行。要跳出for循环,不能在switch里面用break,这样只会switch的循环,用goto,return都可以。

同理,在for{ for { break }} 这里,也只会跳出里面的for循环,外面的死循环不会跳出,要用goto,return来跳出,或者for{{break} break } 这样,外面加多一个break来跳出或者给break 得配合 for一个标签,标签写在 for 前一行。

热心网友 时间:2023-11-03 09:30

错。
这样写是标准合法的。

因为很多编译器不标准,对于retun语句只是记录返回值,然后还要接下来执行。并且函数类型的不同(pascal,std,cdecl,fast等),编译成汇编代码后函数出口入口的语句都有很大差别。
所以推荐的写法就是case里面即使返回,也要break.否则有些编译器就出错。

你要是用bcb就知道,bcb就经常出现过这样的错误,即使vc,我也遇到过调试状态下不用break会出错的情况。
尤其是大型工程项目,语法必须标准,否则出错很难查找。

热心网友 时间:2023-11-03 09:30

错。这样写是标准合法的。 因为很多编译器不标准,对于retun语句只是记录返回break跳出循环 return 0 =return false return直接返回到调用函数的地方

热心网友 时间:2023-11-03 09:31

int f(int n)
{
switch(n)
{
case 1:break; //这儿是结束switch()
case 2:return n; //这儿直接结束这个函数f
}
}

热心网友 时间:2023-11-03 09:32

不一样,return是返回到指定的某个操作,break是从当前位置直接中断所有

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com