猿问

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

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%64
return true;
return false;
}

萧十郎
浏览 96回答 2
2回答

暮色呼如

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

墨色风雨

函数返回值不一定写在最后,但如果不使用goto,返回语句以后的语句都不会被执行。返回语句可以用在程序的中间,但都是有条件的。你的程序就是有条件的(if语句比较长,可能不容易看清楚)。如:可以写int max(int a, int b){if (a > b)return a;return b;}这里return a;一句就在中间。但如果在return b;后面再加语句,就没有意义了(当然语法上也没有错)。
随时随地看视频慕课网APP

相关分类

Java
Android
我要回答