求大神们帮我看看这段代码
while(j<i)
{
if((packagepts2[i].l==packagepts2[j].l)&&(packagepts2[i].w==packagepts2[j].w)&& (packagepts2[i].h==packagepts2[j].h))
{
R=packagecolor[i].r=packagecolor[j].r;
G=packagecolor[i].r=packagecolor[j].r;
B=packagecolor[i].r=packagecolor[j].r;
break;
}
j++;
}
j=0;
packagecolor[i].r=R=(R+80)%256;
packagecolor[i].g=G=(G+80)%256;
packagecolor[i].b=B=(B+80)%256;
我的意图是:当执行while循环时,若j取某个值时满足if的判断语句,执行完if之后,立即跳出while循环。 当所有的j的可能取值都不满足if语句时,退出while循环,转而执行
{
j=0;
packagecolor[i].r=R=(R+80)%256;
packagecolor[i].g=G=(G+80)%256;
packagecolor[i].b=B=(B+80)%256;
}
我知道我这个程序段有问题,不管while语句内的程序是否满足,都会执行while循环之外的那一部分程序。
所以恳请大神们给我一点建议。
------最佳解决方案--------------------
//加一个状态标志如
bool flag=false;
while(j<i)
{
if(当满足条件时)
flag=true;
.................
}
if(flag==false)
{
//你的程序
}
------其他解决方案--------------------自己顶一下,自己顶
------其他解决方案--------------------再来顶一个,顶
------其他解决方案--------------------我再帮你顶一下