這兩個語句之間的區別是什麼,哪個是正確的,應該使用什麼?文件IO中兩個語句的區別是什麼
fp是使用的文件指針。
if(fp!= '\n')
得到一個警告
C4047: '!=' : 'FILE *' differs in levels of indirection from 'int'
和
if(fp!= NULL)
沒有得到任何警告。
完整的代碼片段如下
if(fp!= NULL)
{
fgets(mystring,BUFSIZ,fp);
puts(mystring);
}
第一個是無稽之談。 – Pubby
fp是一個指針,'\ n'是一個字符。 NULL是一個指針。我同意,使用不是指針的東西檢查指針的等式是無稽之談。 – yattering
@yattering其實''\ n''的類型爲'int',請參閱編譯器錯誤。它不是'char'。 – unwind