Я использую Dev-C ++ v4.9.8.0, и я написал строки
const int i = 512;
i = 200;
и когда я пошел к компиляции, я ожидал увидеть ошибку во время компиляции, но получил только предупреждение. Я сказал Dev-C ++, что хочу скомпилировать это в C-программу. Мой компилятор под капотом - MinGW gcc v2.95, все это работает на компьютере с Windows 7. Я думал, что это был языковой стандарт для генерации ошибки во время компиляции, когда программа пытается изменить значение, объявленное с квалификатором const
. Стандарт говорит, что это только оправдывает предупреждение?
Вот моя программа:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
const int i = 512;
i = 250;
system("PAUSE");
return 0;
}
А вот и журнал компиляции:
7 C: \ C_Programs \ Practice \ main.c
[Предупреждение] назначение переменной только для чтения `i '