为了账号安全,请及时绑定邮箱和手机立即绑定

反回值以后的语句是不是永远不会被执行啊,写在反回值后边是不是错误的语法?

反回值以后的语句是不是永远不会被执行啊,写在反回值后边是不是错误的语法?

萧十郎 2022-10-08 14:10:30
bool BeRepeated( char b ){for( unsigned long i = 0; i < curSln; i++ )if( oldLayout[0][ curSln ] == oldLayout[0][ i ] &&oldLayout[1][ curSln ] == oldLayout[1][ i ] &&oldLayout[2][ curSln ] == oldLayout[2][ i ] &&oldLayout[3][ curSln ] == oldLayout[3][ i ] &&( ( i & 1 ) ? 1 : -1 ) == b ) // 保证过河后的方案之间比较,回来后的方案之间比较// i&1等效于i%2,i&7等效于i%8,i&63等效于i%64return true;return false;}
查看完整描述

2 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

return语句返回数值的同时,结束本子程序,返回调用语句。

查看完整回答
反对 回复 2022-10-12
?
墨色风雨

TA贡献1853条经验 获得超6个赞

函数返回值不一定写在最后,但如果不使用goto,返回语句以后的语句都不会被执行。
返回语句可以用在程序的中间,但都是有条件的。你的程序就是有条件的(if语句比较长,可能不容易看清楚)。

如:可以写
int max(int a, int b)
{
if (a > b)
return a;

return b;
}
这里return a;一句就在中间。但如果在return b;后面再加语句,就没有意义了(当然语法上也没有错)。

查看完整回答
反对 回复 2022-10-12
  • 2 回答
  • 0 关注
  • 95 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号