powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Help!!!!!
4 сообщений из 4, страница 1 из 1
Help!!!!!
    #34706231
тот самый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!

Столкнулся с проблемой с которой бъюсь уже много времени...
Вот иллюстрация проблемы :

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 нетерпением жду советов и предложений!!!

Сенкс.
...
Рейтинг: 0 / 0
Help!!!!!
    #34706251
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так красивее

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
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[i] ==  0 )
       continue;
 //    array[i] =  1 /array[i];
  }

  return  0 ;
}
...
Рейтинг: 0 / 0
Help!!!!!
    #34706334
Тынц.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тот самый
ОПЕРАТОР CONTINUE ВЫПОЛНЯЕТСЯ КАК ПРИ ВЕРНОМ ТАК И ПРИ ЛОЖНОМ УСЛОВИИ!!! Причем компилятор не генерирует инструкцию jump

А вот если я раскоментирую // array = 1/array; то все нормально: оператор continue тогда выполняется тока при верном условии как и надо.

Оболочка Builder C++.

Оптимизация включена?
В первом случае (без строчки array = 1/array;) никакой разницы нет, выполнится continue или нет, птому что дальше тело цикла пустое. Компилятор это видит и убирает из кода лишнее.

Попробуй тот же код с выключенной оптимизацией и сравни результат.
...
Рейтинг: 0 / 0
Help!!!!!
    #34706646
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тот самый wrote:

> if (array == 0)
array - это указатель на область памяти, занимаемой массивом. Всегда будет
больше нуля.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Help!!!!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]