Форум программистов, компьютерный форум CyberForum.ru

Некомпилируемый код компилируется в dev-cpp 4.9.9.2 - C++

Восстановить пароль Регистрация
 
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
31.05.2011, 17:51     Некомпилируемый код компилируется в dev-cpp 4.9.9.2 #1
Доброго времени суток.
Вот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
int main()
{
    int n;
    std::cin >> n;
    int arr[n];
    std::cin >> arr[1];
    std::cout << arr[1];
    system("pause");
    return 0;
}
По моим соображениям (да и по стандарту языка), этот код не то, что запускаться, он и компилироваться не должен. Что самое странное, он не только компилируется в dev-cpp 4.9.9.2, но и (да, вы угадали) запускается! Причем, если ввести n равное -7, программа позволит ввести первый элемент массива, и даже выведет его.
Проверить на других операционках и на других компиляторах смогу, увы, не раньше чем через неделю. Поэтому, прошу вашей помощи, почему он компилируется, а не останавливается на 7 строчке? Поправьте, если где неправ.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
31.05.2011, 17:54  [ТС]     Некомпилируемый код компилируется в dev-cpp 4.9.9.2 #2
ps/скрин.
Миниатюры
Некомпилируемый код компилируется в dev-cpp 4.9.9.2  
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
31.05.2011, 18:06     Некомпилируемый код компилируется в dev-cpp 4.9.9.2 #3
Что вы хотите услышать? Видимо, dev-cpp не проверяет корявое создание массива.
Всё равно так делать нельзя
ValeryLaptev
Эксперт C++
1004 / 783 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
31.05.2011, 18:15     Некомпилируемый код компилируется в dev-cpp 4.9.9.2 #4
soon, Это довольно старая система. Скачайте Code::Blocks или wxDevC++ - эти посвежее будут.
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
31.05.2011, 18:48     Некомпилируемый код компилируется в dev-cpp 4.9.9.2 #5
скорей всего размер массива n - мусорный (типа "1231293129")
cin >> n ничего не даст

Цитата Сообщение от soon Посмотреть сообщение
Причем, если ввести n равное -7, программа позволит ввести первый элемент массива, и даже выведет его.
акцент здесь надо делать не на том, что вы якобы вводите первый (хотя второй) элемент массива, а в том что вы пытаетесь заполнить ячейку arr+1... поэтому вылетать от этого и не должно...

компилируется по кривости разрабов
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
31.05.2011, 19:04  [ТС]     Некомпилируемый код компилируется в dev-cpp 4.9.9.2 #6
Цитата Сообщение от mimicria Посмотреть сообщение
Всё равно так делать нельзя
Само собой, как 2*2=4

ValeryLaptev, Так уж вышло, что ноутбук в ремонте, и приходится довольствоваться этим. Раньше писал, и никаких нареканий не было.

Собственно, программа создала массив на максимально возможное кол-во элементов, как,в принципе, и говорил OstapBender . Поэтому размер составил около полумегабайта
Всем спасибо за ответы
Yandex
Объявления
31.05.2011, 19:04     Некомпилируемый код компилируется в dev-cpp 4.9.9.2
Ответ Создать тему
Опции темы

Текущее время: 03:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru