#define 替换 (字符串内

#include<stdio.h>
#define PINTF(format,value) printf(" "format" \n",value)

int main(){
	
	PINTF("%d",5);
	
	return ; 
} 

为什么 %d,format  要加上“”才能正常输出呢   ,不是直接替换吗

#include<stdio.h>
#define PINTF(format,value) printf(" format\n",value)

int main(){
	
	PINTF(%d,5);
	
	return ; 
} 

这样都不行

%d不是变量也不是字符串啊。