Ошибка в цикле for (язык C) в Dev C ++

У меня проблема с запуском этого кода в Dev C ++.

#include<stdio.h>
#include<conio.h>

main()
{
    /*
    Write a program to calculate overtime pay of 10 employees.
    Overtime is paid at the rate of Rs. 12.00 per hour for every hour worked above 40 hours. 
    Assume that employees do not work for fractional part of an hour.
    */

    int sal,pay,re;

    for(int i=0;i<=10;i++)
    {
        printf("Write down your over time(in hours):    ");
        scanf("%d",&sal);
        re = sal - 40;
        pay = re * 12;
        printf("Your pay is %d ",pay);
    }

}

Я получаю следующую ошибку

[Ошибка] Начальные объявления цикла for разрешены только в режиме C99 или C11.


person Muhammad Ahmed    schedule 25.07.2018    source источник
comment
Возможный дубликат Как исправить ошибку GCC в режиме C99 при начальном объявлении цикла?   -  person Mohammad    schedule 25.07.2018


Ответы (1)


Объявление переменной в первой части цикла for было функцией, добавленной в C как часть стандарта C99. Однако большинство компиляторов по умолчанию используют старый стандарт C89, который не поддерживает эту конструкцию.

Вам нужно переместить объявление i за пределы цикла for:

int i;
for(i=0;i<=10;i++)
{
    ...
person dbush    schedule 25.07.2018
comment
понятно! такая же ошибка возникает в Turbo C ++ и Microsoft Visual Studio? - person Muhammad Ahmed; 25.07.2018
comment
@MuhammadAhmed Да, хотя я бы посоветовал не использовать Turbo C, поскольку он очень устарел. - person dbush; 25.07.2018