65,210
社区成员
发帖
与我相关
我的任务
分享
if(flagA)
{
doX();
}
else
{
if(flagB)
{
whlie(flagC)
{
doY();
doX();
}
}
else
{
doZ();
doX();
}
}
if(flagA)
{
myflag=1;//加一个标志符
}
else
{
if(flagB)
{
if(flagC)
{
myflag=2;//加一个标志符
}
}
else
{
myflag=3;//加一个标志符
}
}
{
if(myflag==2)
{
doY;
}
if(myflag==3)
{
doZ();
}
if(myflag==1)
;
doX();
}while(flagC&&myflag==2)
if( !a && !b )
{
doZ();
}
if( !b )
{
doX();
}
else
{
while( c )
{
doY();
doX();
}
}
if(flagA)
{
//移出去
}
else
{
if(flagB)
{
whlie(flagC)
{
myflag=1;//加一个标志符
doY();
doX();
}
}
else
{
doZ();
//移出去
}
}
if(myflag!=1)//这个就可以了
doX();if(flagA)
{
//移出去
}
else
{
if(flagB)
{
whlie(flagC)
{
doY();
doX();
}
}
else
{
doZ();
//移出去
}
}
if(!flagC)//刚刚以为是互斥的。那这里用这个就行了撒
doX();
if(flagA)
{
//移出去
}
else
{
if(flagB)
{
whlie(flagC)
{
doY();
doX();
}
}
else
{
doZ();
//移出去
}
}
if(!flagB)
doX();
if(flagA)
{
doX();
}
else
{
if(flagB)
{
whlie(flagC)//这里的循环就导致了doX();不能放到外边去,因为难以保证调用次数,不过你要是贴出全部代码,可能还能改一下,否则变数大了
{
doY();
doX();
}
}
else
{
doZ();
doX();
}
}
if(flagB)
{
whlie(flagC)
{
doY();
doX();
}
}
else
{
if( !flagA )
{
doZ();
}
doX();
}
if(flagA)
{
//取消
}
else
{
if(flagB)
{
whlie(flagC)
{
doY();
doX();
}
}
else
{
//取消
doZ();
}
}
doX();//放这
如果dox、doy、doxz模块之间无任何耦合性,可单独把dox函数提到if语句块外,if快内的dox统统不要
if(flagA)
/*
这种就算和doY,doX有关系也可以减少一次。
*/
{
doX();
}
else
{
if(flagB)
{
whlie(flagC)
{
doY();
}
}
else
{
doZ();
}
doX();
}if(flagA)
{
doX();
}
else
{
if(flagB)
{
whlie(flagC)
{
doY();
}
}
else
{
doZ();
}
doX();
doX();
}