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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
#1

почему работает несмотря ни на что? - C++

31.10.2013, 02:18. Просмотров 366. Ответов 10
Метки нет (Все метки)

код :
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
int main()
{   int u;
    cin>>u;
    int uu[u];
    for (int i=0;i<u;i++) uu[i]=i;
    for (int i=0;i<u;i++) cout<<i<<" ";
    return 0;
}
компилятор mingw-работает, vs - нет
по идее статические массивы должны знать свою размерность заранее?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2013, 02:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос почему работает несмотря ни на что? (C++):

Почему адреса у указателей разные, несмотря на то, что они указывают на одну и ту же переменную? - C++
Почему адреса у указателей разные, они же указывают на одну и туже переменную int main() { setlocale(LC_ALL, &quot;Russian&quot;); char y =...

Несмотря на ошибку, все работает - C++
#include &lt;iostream&gt; using namespace std; float ctof(float c) { float f; f = c * 9 / 5 + 32; return f; }

Почему в динамическом массиве не работает то, что работает со статическим? - C++
Программа зависает #include&lt;iostream&gt; #include&lt;stdlib.h&gt; #include&lt;time.h&gt; using namespace std; int main() { ...

Почему в библиотеке не работает то, что спокойно работает в программе? - C++
День всем добрый! Я здесь решил собрать библиотеку для конструктора игр Game Maker. Хотел поэкспериментировать. Как всегда, у...

Не понимаю, что не так, почему не работает - C++
#include&lt;cstdlib&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &quot;iostream&quot; using namespace std; void main() {int *a,i,N; ...

После удаления (перезаписи) данных из бинарного файла, файл всё равно существует, несмотря на то, что он пуст - C++
после удаления(перезаписи) данных из бинарного файла, файл всё равно существует, как сделать так чтобы и файл удалялся если он пустой?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
31.10.2013, 02:26 #2
это называется VLA, поддерживается mingw в таком виде и по умолчанию это расширение включено
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,926
31.10.2013, 02:28 #3
Кстати говоря, в С99 они включены, жаль лишь что майкрософт на это наплевать (и на С99 и на VLA). Так бы и в плюсовый стандарт добрались.
0
Jupiter
31.10.2013, 02:34
  #4

Не по теме:

Цитата Сообщение от MrGluck Посмотреть сообщение
Так бы и в плюсовый стандарт добрались.
свят свят свят, есть более насущные вещи чем какой-то vla

0
gazlan
3131 / 1906 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
31.10.2013, 02:36 #5
По ошибке.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int main(int argc,char** argv)
{    
   const int MAX_DIMENSION = 128;
   
   int   iRealDim = 0;
 
   cin >> iRealDim;
   
   int   uu[MAX_DIMENSION];
   
   for (int ii = 0; ii < iRealDim; ++ii) 
   {
      uu[ii] = ii;
   }
 
   for (int jj = 0; jj < iRealDim; ++jj) 
   {
      cout << uu[jj] <<" ";
   }
 
   return 0;
}
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,926
31.10.2013, 02:39 #6

Не по теме:

Просто мне кажется что это заметно облегчило бы жизнь новичкам на начальном этапе.



Добавлено через 1 минуту
Цитата Сообщение от gazlan Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main(int argc,char** argv)
{ * *
* *const int MAX_DIMENSION = 128;
int * iRealDim = 0;
cin >> iRealDim;
int * uu[MAX_DIMENSION];
for (int ii = 0; ii < iRealDim; ++ii) 
* *{
* * * uu[ii] = ii;
* *}
for (int jj = 0; jj < iRealDim; ++jj) 
* *{
* * * cout << uu[jj] <<" ";
* *}
return 0;
}
из разряда как делать не надо.
Допустим, я ввел 129. Только про if не надо говорить.
0
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
31.10.2013, 02:52  [ТС] #7
gazlan, а к чему твой код? к какой ошибке?
0
gazlan
3131 / 1906 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
31.10.2013, 02:55 #8
Цитата Сообщение от soican Посмотреть сообщение
к какой ошибке?
К исходному посту. int uu[u]; Это не работает и не должно работать в C++.
0
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
31.10.2013, 03:02  [ТС] #9
Цитата Сообщение от gazlan Посмотреть сообщение
К исходному посту. int uu[u]; Это не работает и не должно работать в C++.
это работает с mingw
0
gazlan
3131 / 1906 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
31.10.2013, 03:06 #10
Цитата Сообщение от soican Посмотреть сообщение
с mingw
У GCC есть непереносимые расширения, которыми, очевидно, не стоит пользоваться.
0
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
31.10.2013, 03:12  [ТС] #11
почитай здесь http://habrahabr.ru/post/195148/ эти расширения будут стандартом
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2013, 03:12
Привет! Вот еще темы с ответами:

Несмотря на то, что переменная С имеет тип long int, возведение, к примеру, 100 в степень 5 совершается неверн - C++
Ребят, раньше программировал ( на уровне любителя ) только на скриптовых языках с динамической типизацией (в основном JS и Python), но так...

програма не работает почему то, не могу понять что не так - C++
Я написал програму которая должна выводить текст на екран. Если все в олном файле все норм работает. но я решил создать клас и немного коду...

Почему код не работает хотя ошибок нет? Что-то не так с выделением памяти? - C++
#include &lt;math.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; int n = 0; double a, b; ...

Почему выводится в виде таблицы и почему не работает сортировка - C++
почему выводится в виде таблицы? почему не работает сортировка? и как туда можно вставить классы комнат? hotel.h #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
31.10.2013, 03:12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru