ошибка: ожидаемый идентификатор или '(' - язык программирования c

Я часами ломал себе голову, пытаясь понять это. Я получаю следующую ошибку для кода ниже:

mario.c:5:1: ошибка: ожидаемый идентификатор или '('

#include <cs50.h>
#include <stdio.h>

int main(void);

int blocks = 0;
do
{
    int blocks = get_int();
    printf("%d\n", blocks);
}
while (blocks > 23);

Кто-нибудь знает, что я делаю неправильно здесь?


person Tony Balbin    schedule 09.06.2017    source источник
comment
попробуйте убрать точку с запятой(;) в конце int main(void); строки   -  person pramod    schedule 09.06.2017


Ответы (1)


Удалите ; после объявления int main(void)

int main(void)
{
    ...
}
person fiveclubs    schedule 09.06.2017
comment
Вот почему я предпочитаю, чтобы фигурная скобка находилась на той же строке, что и утверждение, я чувствую, что эту ошибку будет труднее сделать / легче заметить. - person Karl Reid; 09.06.2017
comment
@KarlReid, наверное, лучшее оправдание этого стиля, которое я слышал. Гораздо лучше, чем мне просто больше нравится! - person fiveclubs; 09.06.2017
comment
@fiveclubs спасибо за совет. я избавился от ; после int main(void), но все еще получаю аналогичную ошибку: mario.c:7:1: ошибка: ожидаемый идентификатор или '(' do ^ mario.c:12:1: ошибка: ожидаемый идентификатор или '(' в то время как (блоки › 23); ^ - person Tony Balbin; 09.06.2017
comment
@TonyBalbin, похоже, ты убрал фигурные скобки вместо точки с запятой. Должно быть int main(void) {...весь ваш код...} - person fiveclubs; 09.06.2017
comment
Спасибо! Работал. :-) - person Tony Balbin; 10.06.2017