티스토리 뷰
이 문제는 오버플로우를 발생 시키는 문제이다.
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