发布网友 发布时间: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是从当前位置直接中断所有