사용하는 프로그램은 Visual Studio 2013 Professional


#include <stdio.h>

#include <stdlib.h>


int main(void){

short sh = 32767; // short 형의 최댓값 초기화

int in = -2147483648; //int형의 최솟값 초기화

long ln = 2147483647; //long 형의 최댓값 초기화

long long lln = 123451234512345; // 아주 큰 값 초기화


printf("short형 변수 출력 : %d\n", sh);

printf("int형 변수 출력: %d\n", in);

printf("long형 변수 출력: %ld\n", ln);

printf("long long형 변수 출력: %lld\n", lln); //long long은 %lld, long 은 %ld


system("pause");

return 0;

}


라 쳤더니

int in = -2147483648; //int형의 최솟값 초기화

이부분에서 오류가 난다


error C4146: 단항 빼기 연산자가 부호 없는 형식에 적용되었습니다. 결과는 역시 unsigned 입니다 


이렇게 나오는데 왠지 모르겠음 책에 잇는거 복붙해도 똑같은 오류난다



두번째 문제는


#include <stdio.h>


int main(void){

int a; // 변수 선언

int b = 20; // 변수 선언과 동시에 값 초기화

int c; // 변수 선언 후 초기화 안함. 쓰레기 값 출력


a = 10; // 변수 값 정의

printf("a:%d\n", a); // 값 출력

printf("b:%d\n", b);

printf("c:%d\n", c); // 쓰레기 값 출력 시 빌드에 오류 생김.

return 0;

}

 

라고 하고 컴파일을 했어


책에서는 컴파일 하고 에러 c4700 : 초기화되지 않은 'c' 지역 변수를 사용했습니다


라고 나오면 그거 무시하고 컴파일 한다음에 실행해서 garbage값을 보라는데


어떻게 무시하고 컴파일하냐??