C語言程序的錯誤和警告
來源:文萃谷 3.09W
一段代碼,在編譯、鏈接和運行的各個階段都可能會出現問題。編譯器只能檢查編譯和鏈接階段出現的問題,而可執行程序已經脱離了編譯器,運行階段出現問題編譯器是無能為力的。C語言程序的錯誤和警告你知道嗎?歡迎大家閲讀!更多相關信息請關注相關欄目!
如果我們編寫的代碼正確,運行時會提示沒有錯誤(Error)和警告(Warning),如下圖所示:
圖1:Dev C++ 的提示
圖2:VC 6.0 的提示
圖3:C-Free 5.0 的`提示
對於 VS、GCC、Xcode 等,如果代碼沒有錯誤,它們只會顯示“生成成功”,不會顯示“0個錯誤,0個警告”,只有代碼真的出錯了,它們才會顯示具體的錯誤信息。
錯誤(Error)表示程序不正確,不能正常編譯、鏈接或運行,必須要糾正。
警告(Warning)表示可能會發生錯誤(實際上未發生)或者代碼不規範,但是程序能夠正常運行,有的警告可以忽略,有的要引起注意。
錯誤和警告可能發生在編譯、鏈接、運行的任何時候。
例如,puts("C語言中文網")最後忘記寫分號;,就會出現錯誤,如下圖所示:
圖4:VS2015 的錯誤提示
圖5:Dev C++ 的錯誤提示
圖6:VC 6.0 的錯誤提示
圖7:C-Free 5.0 的錯誤提示
可以看出,C-Free 的錯誤提示信息比較少,不方便程序員糾錯。VC 和 VS 的錯誤信息類似,只是中英文的差別。
下圖分析了 VC 6.0 的錯誤信息:
圖8:錯誤信息説明
翻譯:源文件E:cDemohello.c 第5行發生了語法錯誤,錯誤代碼是C2143,原因是'return' 前面丟失了 ';'。