Pet*_*ter 4 c if-statement variable-assignment
我目前正在学习C,并想知道以下两段代码是否表现不同,或者它是否只是一种风格的东西.
看一些来源,他们有以下代码:
...
FILE * pFile;
pFile = fopen ("myfile.txt","r");
if (pFile == NULL)
{ some code }
...
Run Code Online (Sandbox Code Playgroud)
虽然我的教授在他的笔记中有以下代码:
...
FILE * pFile
if ((pFile = fopen("myfile.txt","r")) == NULL)
{ some code }
...
Run Code Online (Sandbox Code Playgroud)
只是想知道这不仅仅是不同程序员的风格偏好,还是将返回/设置行放在if statmeent中的优势.
没有区别.更有经验的程序员有时会使用第二种形式,只是为了节省一条线,但它们基本相同.第二个往往是更多的"UNIX-y",其中大多数函数调用在继续之前检查错误(而不是成功).