我碰到一个很一个很奇怪的现象:很难解释!

 

我碰到一个很一个很奇怪的现象:很难解释!

在下面函数中

int start()
{

if(Symbol() != Base)
{
if(displayAlert == true && SignalValue!=285)
DisplayAlert(" Currett Symbol is not "+Base+"!",1);
SignalValue=285;
return(0);
}

if (MA89SMA>SMA89now)
{DispDownArrow(index,DeepSkyBlue);return (0);}

return(0);
}

前面已经报警了,但是好象后面的DispDownArrow()还是运行了,并且还在图表中画出了箭头!
程序中的Base="GBPUSD",是外部变量,我把上面的程序放在另外的货币对(比如是:AUDUSD)图表中运行,按我的理解,在下面的代码中

if(Symbol() != Base)
{

......

return(0);
}

其中的return(0);一定会执行, 那么它后边的代码应当不再执行才正确!也就是说画出了箭头的DispDownArrow()不应该再执行才正确!


那位高手能帮忙指点一下!谢谢!

原因: