다음 소스 코드를 완성하여 11이 출력되게 만드세요.
표준 출력
11
judge_integer_sizeof.c
#include <stdio.h>
int main()
{
_______________
_______________
printf("%d\n", sizeof(num1) + sizeof(num2) + sizeof(long long));
return 0;
}
정답
char num1;
short num2;
풀이
먼저 변수가 아닌 long long을 보자. long long의 자료형 크기는 8바이트이다. 따라서 11이 나오려면 변수 num1과 num2의 자료형 크기의 합이 3이어야 한다. 그러면 하나는 1바이트, 다른 하나는 2바이트이어야 하므로 하나는 char형, 하나는 short형이어야 한다. num1이 short, num2가 char여도 무관하다.
'C' 카테고리의 다른 글
[C] C언어 코딩 도장 7.14 심사문제: 크기가 표시된 정수 자료형 사용하기 (0) | 2022.04.25 |
---|---|
[C] C언어 코딩 도장 7.13 심사문제: 최솟값 표현하기 (0) | 2022.04.25 |
[C] C 언어 코딩 도장 7.11 심사문제: 정수형 변수 선언과 오버플로우 (0) | 2022.04.25 |
[C] C언어 코딩 도장 5.6 심사문제: 변수를 선언하고 값 할당하기 (0) | 2022.04.25 |
[C] C언어 코딩 도장 3.10 심사문제: 서식 지정자 사용하기 (0) | 2022.04.25 |