美国老龄化程度:关于C++执行顺序问题!

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 09:10:03
bool BeRepeated( char b )
{
for( unsigned long i = 0; i < curSln; i++ )
if( oldLayout[ curSln ][0] == oldLayout[ i ][0] && // 这里虽然4个数字比较是否相等
oldLayout[ curSln ][1] == oldLayout[ i ][1] && // 但总共才4个字节长,实际可以
oldLayout[ curSln ][2] == oldLayout[ i ][2] && // 通过一次4字节长数字比较替换
oldLayout[ curSln ][3] == oldLayout[ i ][3] && // 四次1字节长数字比较来优化
( ( i & 1 ) ? 1 : -1 ) == b ) // 保证过河后的方案之间比较,回来后的方案之间比较
// i&1等效于i%2,i&7等效于i%8,i&63等效于i%64
return true;
return false;

void main()

do
{
DoSolution( b );
if( ( oldLayout[ curSln ][1] > oldLayout[ curSln ][0] && oldLayout[ curSln ][0] ) ||
( oldLayout[ curSln ][3] > oldLayout[ curSln ][2] && oldLayout[ curSln ][2] ) ||
oldLayout[ curSln ][0] < 0 || oldLayout[ curSln ][1] < 0 ||
oldLayout[ curSln ][2] < 0 || oldLayout[ curSln ][3] < 0 ||
BeRepeated( b ) )
{ ;}

请问当return true 反回回时是不是将结束FOR的循环跳到BeRepeated( b )处执行呢?还有是不是当IF后的条件为假时然后跳过 return true去执行DO循环呢?

这样的问题到csdn上去 高手都在那里
这里虽然叫知道 其实是灌水的地方