ETC/ETC
[C언어 에러] C4700 초기화 되지 않은 ~ 지역 변수를 사용했습니다.
yoiii
2020. 12. 21. 10:51
프로그램 소스코드를 작성하다보면, 종종 다음과 같은 오류가 발생한다.
#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;
}
따라서 다음과 같이, 지역변수의 값을 미리 초기화 해주면, 에러가 발생하지 않는다.