Привет C, мировая программа от Кернигана и Ричи не компилируется - PullRequest
2 голосов
/ 05 ноября 2011

Я пытаюсь выучить C, используя книгу Кернигана и Ричи (The C Bible).При попытке скомпилировать первую проблему, используя tcc и MinGW (используя Windows).Это дало мне сообщение об ошибке.Самый подробный из них поступил из Min GW: helloworld.c: 3: 8: ошибка: ожидается ')' before '(' token

Вот моя программа:

main()

(

    printf("hello, world\n");

)

Насколько далеконасколько я могу судить, книга следует до точки. Это сейчас устарело? Я искал это и до сих пор не могу найти то, что сделал неправильно. Пожалуйста, помогите.

Заранее спасибо!

Ответы [ 4 ]

5 голосов
/ 05 ноября 2011

( blahblah; ) - это не то же самое, что { blahblah; }, и ваша книга может быть немного устаревшей (хотя код должен быть полезен, даже если некоторые требуют изменений). Текущий стандарт C будет

#include <stdio.h>
int main(void)
{
    printf("hello, world\n");
    return 0;
}

main(void) также может быть main(int argc, char *argv[]), если вы хотите прочитать аргументы командной строки.

4 голосов
/ 05 ноября 2011

Вы по ошибке используете ( и ) вместо { и }.И, вероятно, код в книге имеет оператор #include для объявления printf.

2 голосов
/ 05 ноября 2011

Вы использовали скобки вместо скобок. Должно быть

#include <stdio.h>

main() {
    printf("hello, world\n");
}
1 голос
/ 05 ноября 2011

Символы, начинающие и заканчивающие тело функции, представляют собой фигурные скобки, а не круглые скобки. Это должно выглядеть так:

main()
{
    printf("hello, world\n");
}

Тем не менее, это действительно печально устарело.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...