티스토리 뷰

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

 

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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday