Объясните почему в книге написано по С что переменные можно объявлять вот так Код (Text): for(int i = 1; i<10; ++i); но компилятор ругается на это, (пишу под GDB)
ругается на объявление переменной в заголовке цикла, видимо компилятор по умолчанию поддерживает стандарт C99. GDB в качестве компилятора? )
Написанно в книге такое я вечером напишу автора и название книги. Написанно черным по белому что переменные можно обявлять в цикле for и пример написан.
axe_roma, возможность объявлять переменные в for прописана в стандарте C99. В ранних стандартах это было запрещено.
Такое в книги по Cи может быть написано в двух случая либо автор примера не улавливает различия между компилятором Си и Си++ либо как правильно замечено пример написан по стандарту С99. В первом случаи книгу можно дальше не читать
Да как обещал навзвание книги: Программирование на языке С. Стефан Кочан. Да в книге как раз расматриватеся стандарт С99. Тогда вопрос как проверить поддержку компилятором этого стандарта? Или прочитать где можно?
Ты всё ещё придерживаешься убеждения, что твоим компилятором является gdb? Может всё-таки gcc? Если всё-таки gcc, то добавь к опциям компиляции -std=c99. А узнать это можно в документации к gcc. Так же там можно узнать про -std=gnu99 и к чему это приводит
Не компилятор gcc я ошибся вчера. пробывал копилить с указанием стандарта компилятору но он вообще не компилит и сообщений не выводит не каких (ошибки и т.д)?
gcc (GCC) 3.4.2 (mingw-special) Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
axe_roma, а ты уверен, что не компилит? GCC в a.exe компилит, если явно не укажешь ключиком -o нужное имя файла.
блин спасибо а подскажи можно ли в самом коде компилятору передать команду -std=c99? И как это сделать?