我有以下代码:
#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
警告的原因是什么以及如何解决?