условный оператор If...else
Немогу понять почему так происходит...:blink: Например:
if((a==0)&&(b==0)){ if(c==d){ .....;break;} if(c>d){ .....;break;} } При условии a=0 и b=0 выполняются все два внутренних if..хотя там стоит определенное условия для их выполнения, плюс еще и break, немогу опнять почему так, чуствую что глупая ошибка но никак ее немогу найти, помогите кто знает. :cray: |
break из цикла выпрыгивает, а не из произвольного блока.
|
Цитата:
|
Значения c и d выведите и посмотрите.
|
ничего не могу понять...
if((_sell>'')&&(_buy>'')){ /*1 блок*/ if(_buy[0][0]==_sell[0][0]){ do{ if(_buy[0][1]-_sell[0][1]<0){_sell[0][1]-=_buy[0][1];k=_buy.shift();;break; } if(_buy[0][1]-_sell[0][1]>0){ _buy[0][1]-=_sell[0][1];k=_sell.shift();if(_sell=='')break;} else {k=_sell.shift();_buy.shift();;break;}} while((_buy[0][0]>0)&&(_buy[0][0]==_sell[0][0]))} //если убираю следующий блок if все работает как часы, но с ним идут глюки, не работает первый блок if... /*2 блок*/ if(_buy[0][0]>_sell[0][0]){ do{ if(_buy[0][1]-_sell[0][1]>0){ _buy[0][1]-=_sell[0][1];k=_sell.shift(); if(_sell=='')break;} else {k=_sell.shift();_buy.shift();break;}} while((_buy[0][0]>0)&&(_buy[0][0]>_sell[0][0])) } } |
все разобрался...ошибка была как всегда на поверхности, добавил else между 1 и 2 блоком, только вот не пойму, почему все таки код не работал, ведь вроде все правильно...главный If и внутри его 2 if...непонятно, может какой нибудь баг? :-?
|
Код форматируйте нормально, будете видеть такие ошибки.
|
Часовой пояс GMT +3, время: 16:45. |