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

Cách thay đổi đầu ra của printf() trong main()

Ở đây ta xem cách thay đổi đầu ra của hàm printf() từ main(). Ta định nghĩa hàm sẽ thay đổi tất cả câu lệnh printf() với kiểu cho trước sang kiểu khác.

Dùng macro #define để làm việc này. Macro được định nghĩa bên trong hàm. Có thể đặt #define trực tiếp không cần hàm, nhưng lúc đó printf() luôn bị thay đổi. Để kiểm soát từ main, phải gọi hàm trước.

Ví dụ

#include <stdio.h>

void changePrintf() {
    // mọi printf sẽ in 50
    #define printf(x, y) printf(x, 50);
}

int main() {
    int x = 40;
    changePrintf();
    printf("%d\n", x);
    x = 60;
    printf("%d", x);
    return 0;
}

Kết quả

50
50