为什么这段代码会产生警告?
FILE* my_open_file(char* filename)
{
FILE* fp=fopen(filename,"r");
if(fp==NULL)
{
perror("Error opening file");
return -1;
}
return fp;
}
- asdf.c:在函数“my_open_file”中:
- asdf.c:9: 警告:返回使 没有转换的整数指针
fp 已经是一个指针,据我所知不是整数。
最佳答案
编译器不喜欢return -1
,它是int
类型——但是my_open_file
应该返回指向- 文件
。
使用return NULL;
来表示错误。
关于c - 返回文件*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2258573/