求助~~简单C++,问下两者区别~~!
int tmp;
for(i=2;i<=100;i++)
{
f[i]=(a*f[i-1]+b*f[i-2])%7;
if(f[i]==1&&f[i-1]==1)
{
tmp=i-1;
break;
}
}
int tmp;
for(i=2;i<=100;i++)
{
f[i]=(a*f[i-1]+b*f[i-2])%7;
if(f[i]==1&&f[i-1]==1)
{
//tmp=i-1;
break;
}
}
tmp=i-1;
两者有何区别~~????
[解决办法]
当然有区别了,第一个里只有条件符合时tmp才给赋i-1的值,第二个里无论条件符不符合都给tmp赋i-1的值。并且因为跳出循环,i的值不一样,影响最终tmp的值。
这问题太基础了啊。