c언어
19. 전처리기
jhhhpark
2023. 8. 1. 14:55
[연습문제]
1. 인자로 32비트 크기의 자료에서 오른쪽 16비트만 잘라내는 매크로를 작성하고, 인자로
0x12345678을 전달했을 때 매크로 사용 결과를 출력하세요.
[소스코드]
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define LOWORD(bits) ((int)bits & 0xFFFF0000)
#define LOWORD2(bits) (((int)bits >> 16) << 16)
void main()
{
int d = 0x12345678;
printf("원본 값: 0x%x\n", d);
printf("비트 하위 16비트 절삭 결과1 : 0x%x\n", LOWORD(d));
printf("비트 하위 16비트 절삭 결과2 : 0x%x\n", LOWORD2(d));
return;
}
[실행화면]
2. _DEBUG 상수가 정의되었을 때는 Debug mode Hello, World! 라고 출력하고, 그렇지 않을 때는 Release mode Hello, World!라고 출력하는 프로그램을 작성하세요. 단, 반드시 조건부 컴파일로 구현하세요.
[소스코드]
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#ifdef _DEBUG
#define PRINT_HELLO printf("Debug mode Hello, World!\n");
#else
#define PRINT_HELLO printf("Release mode Hello, World!\n");
#endif
void main()
{
PRINT_HELLO
return;
}
[실행결과]