san*_*ika 0 c fopen warnings std
嗨,我正在用linux下的stdlib编程.
gcc针对以下代码行发出以下警告,任何想法为什么会这样?
FILE *fd;
if ( fd = fopen( filename, "rw" )== NULL )
{
Run Code Online (Sandbox Code Playgroud)
并且警告是:
warning: assignment makes pointer from integer without a cast.
Run Code Online (Sandbox Code Playgroud)
如何实现这一点,根据stdlib文档,fopen的返回类型是FILE*.那么为什么还有警告?有什么想法吗?
- 提前致谢 -
尝试
if ((fd = fopen( filename, "rw")) == NULL)
^ ^
Run Code Online (Sandbox Code Playgroud)
否则fd将取值0或1并且FILE *返回的自身fopen将丢失.因此,如果没有这些括号,比较结果将存储在其中fd而不是FILE *自身.
| 归档时间: |
|
| 查看次数: |
277 次 |
| 最近记录: |