Cho hai số 48 và 96. Yêu cầu: thêm số đầu tiên sau số thứ hai để được 9648. Không được dùng toán tử logic, số học, chuỗi, hay hàm định sẵn.
Giải pháp: Sử dụng toán tử dán token (##) trong macro tiền xử lý. Toán tử này nối hai token thành một chuỗi.
Ví dụ
#include <stdio.h>
#define MERGE(x, y) y##x
int main() {
printf("%d", MERGE(48, 96));
return 0;
}
Kết quả
9648