簡體   English   中英

如何在 function 中使用 printf 檢查變量?

[英]How can i use printf in a function with checking a variable?

如果 OUT 為 1,我想打印 output。所以我認為該代碼。

#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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM