c – 在if语句中分配fopen的结果

我目前正在学习C,并想知道以下两段代码是否表现不同,或者它是否只是一种风格的东西.

看一些来源,他们有以下代码:

...
FILE * pFile;
pFile = fopen ("myfile.txt","r");
if (pFile == NULL)
{ some code }
...

虽然我的教授在他的笔记中有以下代码:

...
FILE * pFile
if ((pFile = fopen("myfile.txt","r")) == NULL)
{ some code }
...

只是想知道这不仅仅是不同程序员的风格偏好,还是将返回/设置行放在if statmeent中的优势.

没有区别.更有经验的程序员有时会使用第二种形式,只是为了节省一条线,但它们基本相同.第二个往往是更多的“UNIX-y”,其中大多数函数调用在继续之前检查错误(而不是成功).
相关文章
相关标签/搜索