цикл for в ошибке C - PullRequest
       0

цикл for в ошибке C

0 голосов
/ 06 февраля 2012

Кодирование IDE: Microsoft Visual C ++ 6.0

Следующий код:

#include <stdio.h>
#include <string.h>
int main()
{
    int i;
    for(i=0; i<7; i++)
    {
        int j;
        for(j=0; j<5; j++)
        {
            if(i==0 || i==6)
            {
                // print *****
                if(j<4)
                {
                    printf("*");
                }
                else if(j==4)
                {
                    printf("*\n");
                }
            }
            else
            {
                if(j==0)
                    printf("*");
                else if(j==4)
                {
                    printf("*\n");
                }
            }
        }
    }

    return 0;
}

Создает это сообщение об ошибке:

error C2143: syntax error : missing ';' before 'type'

error C2065: 'i' : undeclared identifier

Я просто не знаюпричина, почему это дает мне такую ​​ошибку MSG.Предполагается, что это простой цикл - for (int i=0; i<10; i++){}, но он просто не работает и выдает мне сообщение об ошибке такого типа.

1 Ответ

3 голосов
/ 06 февраля 2012

Вероятно, ваш компилятор следует более старой версии стандарта C, ISO 9899: 1990, обычно известного как "C90" (или иногда "C89" или "ANSI-C").

Стандарт C90 не допускает объявления переменных внутри для циклов. Все объявления переменных должны выполняться в начале текущего оператора, сразу после {.

Кроме того, стандарт C90 не допускает // комментариев, что, вероятно, является источником ошибки вашего компилятора.

Нынешний стандарт C ISO 9899: 2011 («C11») разрешает декларации переменных везде, а также // комментариев.

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