본문 바로가기
ETC/ETC

[C언어 에러] C4700 초기화 되지 않은 ~ 지역 변수를 사용했습니다.

by yoiii 2020. 12. 21.

프로그램 소스코드를 작성하다보면, 종종 다음과 같은 오류가 발생한다.


#include <stdio.h>

int main() {
	int input, i, sum = 0;
	for (i = 1;i <= input;i++) {
		sum += i;
	}
	printf("%d\n", sum);
	return 0;
}

input 까지의 합계를 출력하는 코드이다.

에러가 발생한 이유는, input 변수 때문인데, 변수를 초기화를 하지 않고, for 반복문에서 사용을 해서 문제가 발생한 것이다.

미리 초기화를 해 두지 않으면, 예측 불가능한 가비지값이 들어가기에, 컴파일러에서 알아서 에러처리를 해 주는 것이다.

#include <stdio.h>

int main() {
	int input = 5, i, sum = 0;
	for (i = 1;i <= input;i++) {
		sum += i;
	}
	printf("%d\n", sum);
	return 0;
}

따라서 다음과 같이, 지역변수의 값을 미리 초기화 해주면, 에러가 발생하지 않는다.


댓글