如何在检查变量的函数中使用 printf?
How can i use printf in a function with checking a variable?
如果 OUT 为 1,我想打印输出。所以我认为代码。
#define OUT 1
void d_printf(char *text){
if(OUT)
printf("%s", text);
}
int main(void){
d_printf("%d\n", 5);
return 0;
}
但是我的参数是char*,我不能发送%d, 5。我该如何解决这个问题?
您可以使用一个简单的宏:
#include <stdio.h>
#define OUT 1
#define d_printf OUT && printf
int main(void) {
d_printf("%d\n", 5);
return 0;
}
如果您收到有关未使用表达式的编译器警告,您可以使用更精细的宏:
#include <stdio.h>
#define OUT 1
#define d_printf(...) do { if (OUT) printf(__VA_ARGS__); } while(0)
int main(void) {
d_printf("%d\n", 5);
return 0;
}
如果 OUT 为 1,我想打印输出。所以我认为代码。
#define OUT 1
void d_printf(char *text){
if(OUT)
printf("%s", text);
}
int main(void){
d_printf("%d\n", 5);
return 0;
}
但是我的参数是char*,我不能发送%d, 5。我该如何解决这个问题?
您可以使用一个简单的宏:
#include <stdio.h>
#define OUT 1
#define d_printf OUT && printf
int main(void) {
d_printf("%d\n", 5);
return 0;
}
如果您收到有关未使用表达式的编译器警告,您可以使用更精细的宏:
#include <stdio.h>
#define OUT 1
#define d_printf(...) do { if (OUT) printf(__VA_ARGS__); } while(0)
int main(void) {
d_printf("%d\n", 5);
return 0;
}