2015. 3. 15. 23:24



초기화 하지 않은 변수의 값을 출력하면 쓰레기 값이 출력된다고 알고 있었는데...


vs2013 에서는 변수가 초기화 되지 않았다고 빌드 자체를 거부한다.

1>------ Build started: Project: ex211, Configuration: Debug Win32 ------

1>  ex211.c

1>d:\vs2013\ex211\ex211\ex211.c(10): error C4700: uninitialized local variable 'num2' used

1>d:\vs2013\ex211\ex211\ex211.c(10): error C4700: uninitialized local variable 'num1' used

========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

 




<< 소스코드 >>

#include <stdio.h>

int main(void)

{


int num1;

int num2;


printf("%d %d", num1, num2);


return 0;

} 

- 초기화 하지 않은 변수 num1, num2를 사용하는 소스코드




vs2013 에서 확인된 내용인데... 다른 컴파일러에서는 어찌 반응할지 찾아봐야 겠다.


직접 시도 안해 봤으면 그냥 예전 지식 그대로 알고 있을 뻔 한 사건;;


역시 직접 부딪혀 보는게 최고~!!




Posted by 해비