当我们用FILE定义:
FILE* p;
fclose(p);
自然会报错,因为没给p赋值,当然你可以给它赋值,可是如果我们这样:
if(p!=NULL){
printf(" %d ",p);
fclose();
}
就会发现,依然报错,而且控制台输出了一个非0整数,说明p的初始值是一个随机值,因此,只要给p赋初始值就行了。
完整代码:
FILE* p;
//读写数据
//p=fopen("test.txt","r");//读
//p=fopen("test.txt","w");//写
if(p!=NULL){
printf(" %d ",p);
fclose();
}
这样就加强了代码的健壮性,比如有时候要做算法题的时候,先要写入文件,然后再读取,可能写的时候要注释掉读的部分,如果没有付初始值的话,就会报错,因此这样做最为保险。