fopen()里面文件名加引号的问题 求解答

#include<stdio.h>
#define LEN 40
int main()
{
	FILE* p;
	char filename[LEN],str[30];
	printf("请输入要打开的文件:\n");
	gets(filename);
	if((p=fopen(filename,"r"))==NULL)
	{
		printf("ERROR!\n");
		fclose(p);
		return 0;
	}
	
	
	fgets(str,20,p);
	fclose(p);
	puts(str);
	
	return 0;
}

语法上fopen()里面的文件名不是要加上引号么 为什么在这个程序里加上引号打不开文件 不加引号反而可以打开文件呢    求解答

filename是变量名,不需要加引号,加了引号就成字符串,打开程序目录下名为 filename的文件了