728x90
-std=c99이나 -std=c11아래 에러는 for문을 돌릴 때, 나오는 에러입니다.
구문으로 틀린 게 없는데 에러가 발생하여 찾아보니,
C99(1999년에 발표된 C 표준) || C11은 for문 내에서
변수를 선언하는 것이 유효한 C가 아니었기 때문에
발생하는 에러라고 합니다.
[Error] 'for' loop initial declarations are only allowed in C99 or C11 mode
에러를 해결하는 방법은 2가지 있습니다.
1. 변수를 미리 선언 후 for문에서 사용하기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//크기가 3인 double형 배열의 모든 원소의 주소를 출력하는 프로그램을 작성하시오. 단, 주소 구하기 연산자를 사용하지 마시오.
int main(void)
{
double arr[3] = {0};
double *p = arr;
int i;
for(i=0; i< 3; i++)
printf("x[%d]의 주소 : %p \n", i, arr + i);
return 0;
}
2. C99 or C11을 사용할 수 있는 환경으로 바꿔주기
도구(T) => 컴파일러 설정(C)에 들어가 줍니다.
□ 컴파일러 추가 명령:
"-std=c99"이나 "-std=c11"을 추가해주면 됩니다!
삶이 있는 한 희망은 있다.
-키케로
반응형
'프로그래밍 언어 > C(C++, C#)' 카테고리의 다른 글
[Error/C] stray '\241' in program (0) | 2022.11.19 |
---|---|
[Error/C] 서식 문자열 '%d'에 'int' 형식의 인수가 필요하지만 variadic 인수의 1의 형식이 'size_t'입니다. (0) | 2022.10.28 |
[Error/C] expected '=', ',', ';', 'asm' or '__attribute__' before 'file' (0) | 2022.10.13 |
Dev C++ Download (0) | 2022.03.31 |