次のコードがあります。
#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
警告の原因とその修正方法は?