一個錯字後,下面的表達式(簡化的)編譯和執行:這個表達式是什麼意思,它爲什麼編譯?
if((1 == 2) || 0 (-4 > 2))
printf("Hello");
當然
,0不應該存在。
它爲什麼編譯,表達式是什麼意思?
原(簡體)應該是這樣的:
if((1 == 2) || (-4 > 2))
printf("Hello");
沒有這並不編譯:
if((1 == 2) || true (-4 > 2))
printf("Hello");
if((1 == 2) || 1 (-4 > 2))
printf("Hello");
if((1 == 2) || null (-4 > 2))
printf("Hello");
我剛剛試過這個,並得到[警告C4353](http://msdn.microsoft.com/en-us/library/2a68558f.aspx):「使用非標準擴展名:常量0作爲函數表達式。 '__noop'函數內在的相反「 – Rup
我得到了'錯誤:調用對象'0'不是一個函數' –
這已經被回答了http://stackoverflow.com/questions/2198950/why-is-void-0-a-no-operation-in-c-and-c –