判断前后 两次 获得的位置是否相同,是不是同一位置。
1.如果相同,返回return , 不执行 下面的 操作
2.如果有 不同,哪怕只有一个,break,执行下面的操作
m_uiLeftArray[ ] 上一次的位置
uiLeftArray[ ] 获得的新的位置
--------------------原程序------------------------------------------------写的妙 啊
if(m_ucFireNum == ucFireNum)
{
for(i=0;i<ucFireNum;i++)
{
if(uiLeftArray[i] == m_uiLeftArray[i] && uiRightArray[i] == m_uiRightArray[i]
&& uiTopArray[i] == m_uiTopArray[i] && uiBottomArray[i] == m_uiBottomArray[i])
{
if( i == ucFireNum - 1 ) //当数组有多个元素时,判断是否所有对应的元素都相等,
//for循环中 i++,当i取到 ucFireNum - 1,证明元素都相等
{
printf(" Got the same location ! \n");
return;
}
}
else
{
printf("<<diffrent location !------------------------ \n");
break;
}
}
}
-------------------------我改的程序---------------------1------------------------
int judge =0;
if(m_ucFireNum == ucFireNum)
{
judge=0;
for(i=0;i<ucFireNum;i++)
{
if(uiLeftArray[i] == m_uiLeftArray[i] && uiRightArray[i] == m_uiRightArray[i]
&& uiTopArray[i] == m_uiTopArray[i] && uiBottomArray[i] == m_uiBottomArray[i])
{
judge++;
}
else
{
break;
}
if(judge==ucFireNum){
printf(" Got the same location ! \n");
return;
}
}
}
-------------------------我改的程序---------------------2------------------------
和上面源程序差不多,只不过用另外一个变量 做判断了
int judge =0;
if(m_ucFireNum == ucFireNum)
{
judge=0;
for(i=0;i<ucFireNum;i++)
{
if(uiLeftArray[i] == m_uiLeftArray[i] && uiRightArray[i] == m_uiRightArray[i]
&& uiTopArray[i] == m_uiTopArray[i] && uiBottomArray[i] == m_uiBottomArray[i])
{
judge++;
if( judge==ucFireNum )
{
printf(" Got the same location ! \n");
return;
}
}
else
{
break;
}
}
}