Computer >> Máy Tính >  >> Lập trình >> lập trình C

Làm cách nào để thay đổi đầu ra của printf () trong main ()?

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

Chúng tôi sẽ sử dụng macro #define để thực hiện tác vụ này. Macro này sẽ được xác định bên trong hàm. Chúng ta có thể đặt trực tiếp dòng #define mà không cần sử dụng nó trong hàm, nhưng trong trường hợp đó, printf () sẽ luôn bị thay đổi. Để điều khiển nó bằng main, trước tiên chúng ta phải gọi hàm.

Ví dụ

#include <stdio.h>
void changePrintf() { //always any printf will print 50
   #define printf(x, y) printf(x, 50);
}
main() {
   int x = 40;
   changePrintf();
   printf("%d\n", x);
   x = 60;
   printf("%d", x);
}

Đầu ra

50
50