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

Macro nhiều dòng (Multiline macros) trong C

Ở đây ta xem cách viết macro nhiều dòng trong C. Viết macro nhiều dòng như hàm, nhưng mỗi dòng phải kết thúc bằng backslash \. Nếu dùng ngoặc nhọn {} và macro kết thúc bằng }, có thể gây lỗi. Nên bao toàn bộ trong ngoặc đơn.

Ví dụ

#include <stdio.h>

#define PRINT(x, str) ({\
    printf("The number %d", x);\
    printf(" is ");\
    printf(#str);\
    printf("\n");\
})

int main() {
    int x = 10;
    if (x % 2 == 0) {
        PRINT(x, EVEN);
    }
    return 0;
}

Kết quả

The number 10 is EVEN