error C2275: 'FILE' : illegal use of this type as an expression

#include "stdio.h" int main(void)
{
FILE *f=NULL;
f=fopen("dd2.txt","r");
if(f == NULL)
{
printf("fail\n");
}

FILE *fp1 = NULL;          //出错处
FILE *fp2 = NULL;
fp1 = fopen("d1.txt","w");
fp2 = fopen("d2.txt","w");

}

 

这很多时候是标准的C编译器是要求定义必须在程序开头定义造成的,C98标准了,C99也要求,在C++中,这个要求不是很严格,也就是说在程序中也可以定义变量。

 

 

改正:

 

 

#include "stdio.h" int main(void)
{
FILE *f=NULL;

FILE *fp1 = NULL;         

FILE *fp2 = NULL;

f=fopen("dd2.txt","r");
if(f == NULL)
{
printf("fail\n");
}

fp1 = fopen("d1.txt","w");
fp2 = fopen("d2.txt","w");

}

 




你可能感兴趣的:(各种错误)