본문 바로가기

C언어 공부/코딩 도장 문제 풀이

7.11 심사문제 write up

이 문제는 오버플로우를 발생 시키는 문제이다.

 

num1과 num2의 형식지정자는 %u,

num3의 형식지정자는 %d인 것을 통해,

num1,num2는 unsigned 자료형이고 num3는 signed임을 알 수 있다.

 

num1의 출력 값이 0이 된 것을 보아 num1은 오버플로우가 발생한 것이 확인된다.

num1의 최댓값인 65535보다 큰 65536이 들어가자

오버플로우가 발생하며 최솟값인 0을 출력한 것으로 보아

num1의 자료형은 unsigned short임을 알 수 있다.

 

num2의 출력 값이 0이 된 것을 보아

num2 역시 오버플로우가 발생한 것이 확인된다.

num2의 최댓값인 4294967295보다 큰 4294967296이 들어가자

오버플로우가 발생하며 최솟값인 0을 출력한 것으로 보아

num2의 자료형은 unsigned int임을 알 수 있다.

 

마지막으로 num3도 최댓값인 127보다 큰 128이 들어가자

오버플로우가 발생되었고 최솟값인 -128이 출력된 것으로 보아

num3의 자료형은 char이다.

 

그렇다면 빈 칸에 들어가야될 코드는

num1,num2,num3를 각각의 자료형에 맞춰 선언해주는 코드가 될 것이다.

 

답은

 

unsigned short num1;

unsigned int num2;

char num3;

 

'C언어 공부 > 코딩 도장 문제 풀이' 카테고리의 다른 글

8.11 심사문제 write up  (0) 2019.04.03
8.10 심사문제 write up  (0) 2019.04.03
7.14 심사문제 write up  (0) 2019.04.02
7.13 심사문제 write up  (0) 2019.04.02
7.12 심사문제 write up  (0) 2019.04.02