C语言打开文件fp一直等于NULL

#include<stdio.h>
int main()
{
	FILE* fp;
	char buf[20];
	fp = fopen("E:\\1.txt", "r");
	if (fp==NULL);
	{
		printf("打开文件失败!\n");
		return 0;
	}
	fgets(buf, 20, fp);
	printf("%s", buf);
	fclose(fp);
	return 0;
}

这个程序一运行就显示打不开文件,说明fp一直是NULL,这是为什么呢。求解答

将if 里面的return 0删去的话是可以读出来文件的

E:\\1.txt这个文件不在就这样

确认一下这个文件是否存在。“r”模式下,如果文件不存在,返回null