Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

C Puzzle: Gộp hai số không dùng toán tử trong C

Gộp 2 số (12, 54 → 1254) không dùng toán tử số học, chuỗi, hàm. Dùng toán tử token-pasting `##` trong macro.

Giải pháp

#include <stdio.h>
#define merge(a, b) b##a

int main() {
    printf("%d", merge(432, 23)); // 23432
    return 0;
}

Toán tử `##` nối token: `merge(432, 23)` → `23##432` → `23432`

Kết quả

23432