我有以下代碼:如何解決以下警告:格式不是字符串文字和格式參數?
#include<stdio.h>
#include<stdlib.h>
#define MACRO_TEST(MESSAGE,args...) { \
const char *A[] = {MESSAGE}; \
printf("this is a test\n");\
if(sizeof(A) > 0) \
printf(*A,##args); \
}
int main() {
MACRO_TEST();
MACRO_TEST("hello %d\n",5);
return 0;
}
當我編譯它,它提供了一個警告消息:
test.c:78:5: warning: format not a string literal and no format arguments
什麼是警告的原因,以及如何解決它?
另請參閱http://stackoverflow.com/questions/4419293/warning-format-not-a-string-literal-and-no-format-arguments – nos