|
|
|
Help!!!!!
|
|||
|---|---|---|---|
|
#18+
Привет всем! Столкнулся с проблемой с которой бъюсь уже много времени... Вот иллюстрация проблемы : int main(int argc, char* argv[]) {int array[5]={1,2,3,4,5}; int i,p=255; for (i = 0; i < 5; i++) { if (array == 0) continue; // array = 1/array; } return 0; } ОПЕРАТОР CONTINUE ВЫПОЛНЯЕТСЯ КАК ПРИ ВЕРНОМ ТАК И ПРИ ЛОЖНОМ УСЛОВИИ!!! Причем компилятор не генерирует инструкцию jump А вот если я раскоментирую // array = 1/array; то все нормально: оператор continue тогда выполняется тока при верном условии как и надо. Оболочка Builder C++. C нетерпением жду советов и предложений!!! Сенкс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2007, 15:53 |
|
||
|
Help!!!!!
|
|||
|---|---|---|---|
|
#18+
Так красивее Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2007, 16:10 |
|
||
|
Help!!!!!
|
|||
|---|---|---|---|
|
#18+
тот самый ОПЕРАТОР CONTINUE ВЫПОЛНЯЕТСЯ КАК ПРИ ВЕРНОМ ТАК И ПРИ ЛОЖНОМ УСЛОВИИ!!! Причем компилятор не генерирует инструкцию jump А вот если я раскоментирую // array = 1/array; то все нормально: оператор continue тогда выполняется тока при верном условии как и надо. Оболочка Builder C++. Оптимизация включена? В первом случае (без строчки array = 1/array;) никакой разницы нет, выполнится continue или нет, птому что дальше тело цикла пустое. Компилятор это видит и убирает из кода лишнее. Попробуй тот же код с выключенной оптимизацией и сравни результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2007, 18:07 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=283&tid=2028420]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
22ms |
get tp. blocked users: |
1ms |
| others: | 186ms |
| total: | 276ms |

| 0 / 0 |
