我目前正在学习 C,想知道以下两段代码是否执行不同,或者这是否只是一种风格。
查看一些来源,它们具有以下代码:
...
FILE * pFile;
pFile = fopen ("myfile.txt","r");
if (pFile == NULL)
{ some code }
...
虽然我的教授在他的笔记中有以下代码:
...
FILE * pFile
if ((pFile = fopen("myfile.txt","r")) == NULL)
{ some code }
...
只是想知道这是否仅仅是不同程序员的风格偏好,或者将 return/set 行放在 if statmeent 中是否有优势。
最佳答案
没有区别。更有经验的程序员有时会使用第二种形式,只是为了节省一行,但它们本质上是相同的。第二个倾向于更“UNIX-y”,其中大多数函数调用在继续之前检查错误(而不是成功)。
关于c - 在 if 语句中分配 fopen 的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10376013/