導航:首頁 > 源碼編譯 > c語言編譯器哪裡寫錯

c語言編譯器哪裡寫錯

發布時間:2024-10-17 04:17:47

Ⅰ c語言編譯出錯,怎麼查找錯誤出在哪行

步驟:

1.打開源代碼文件,在控制台里查看錯誤類型。

Ⅱ c語言的編譯器,打開同一個程序,一樣的輸入,為什麼有時輸出是對的,有時是錯的

如果真是這樣,恐怕是跟內存泄漏、野指針之類的問題有關,錯誤不容易重現,因為雖然輸入相同,但每次運行時系統的情況不同,編譯器分配的內存情況不同。

Ⅲ C語言程序員的「八誡」

c語言逞序員的八誡

1.你應經常運行int,並研習其教誨,因為它的直覺和判斷通常比你強得多。這一條說得很有道理,然而許多現代編譯器也會找出許多同樣的錯誤,Iit本身也由干過時、判斷標准不一致或者無法檢測未知的領域而導致許多錯誤。

還有許多像Saber C之類的其他工具也很有用。「經常」的意思是你應該每天聆聽其教誨,而不是在最後時刻期待著Iint為代碼降下福音。對從來沒有int過的程序進行it,其結果通常會造成程序的不穩定,因此應當竭力避免。有人發現,在調試的時候多多關注int的教海,會非常有用。

2.你不應訪問NU兒L指針,因為這樣只會導致混亂和瘋狂。

顯然這句箴言抄錯了,應該是「空指針」(ulpointer)不是NULL指針(NULL pointer),避免人們把空指針和NU兒L宏混淆。除此之外,這一條無需多解釋。空指針指向的位置可能是惡龍、惡魔、corep,以及數不清的邪惡生物,如果你驚7它們的美夢,它們就會在程序里肆虐橫行。空指針並不會指向0或任何類型,盡管一些老舊的代碼會做這種假設。

3.你不應將所有函數參數都強制轉換為期待的類型,即使你認為無需如此因執,才能避免遲早會到來的報應。程序員應當懂得所用語言的類型結構,才能免遭不幸。與一些人的認知不同,int和long並不是同一種類型。歷史上曾有非常短暫的一段時期,int和long的大小和表示是相同的,但有人偏偏篤信這一點,而且這種觀點還會一直延續,即使在64位計算機已經流行的現在。

而且,與那些住在污染的東方沼澤(指Uiⅸ的誕生地貝爾實驗室)的人們的信仰不同,NU兒L其實並不是指針類型,作為函數參數使用時,必須強制轉換成正確的類型才可以。

4.如果頭文件沒有給庫函數定義返回類型,你應該謹慎地自行定義,以避免對程序造成傷害。先知Ansi C還以她的智慧教導我們,你應當鞭答供應商,以驅逐之痛要求他們提供庫函數的頭文件。畢竟,只有他們才知道使用他們的魔法的正確方式。先知還說,嘗試自己給函數添加定義是不智之舉,會墜入無盡bug的地獄。

5,你應當檢查所有字元串(以及所有數組)的數組邊界,因為肯定有人會在該輸入00的地方輸入。正如戒律中提到的超長字元串,這一條戒律的結論就是永遠不要使用gets0,因為它是魔鬼的工具。你的介面應當永遠將數組邊界傳達給僕人(指函數),若僕人不遵從,就應當發配到刪除之地,使其永遠不能為惡。

6,如果一個函數聲稱在遇到問題時會返回錯誤碼,那麼你應當檢查錯誤碼,即使這樣做會讓代碼量變成三倍。如果你認為「不會發生在我頭上」,那麼神一定會懲罰你的傲慢。

真正的信徒都希望更好的錯誤機制,因為顯式檢查返回代碼非常麻煩,不檢查則是最大的誘惑。但在遙遠的救贖之日到來之前,你必須耐心謹慎地走過崎嶇的小路,否則無論是供應商、機器還是軟體,都會在你論文答辯或客戶交付日前一天晚上為你送上意想不到的禮物。

7.你應當學習庫,盡量不要重新發明,因為庫的代碼更短、更易懂,能讓你更快樂、更有效率。數不清的異教徒對干庫持有輕蔑的態度,並且迷信自己能做得更好(「效率更高」)。C庫的確有一些功能寫得不好,但使用庫遠遠要比自己發明方形的輪子要快、要容易。但是要非常了解庫能做什麼、不能做什麼,避免使用不可靠的功能。

8.不管你喜不喜歡,你應當使用1TBR風格,讓程序的目的和結構能被同事理解。你的創造力應該放在解決問題上,而不是放在製造理解障礙上。這條戒律給那些不了解古諺語的新手和飯依者造成了一些懷疑。

1TBR指的是第一代先知布萊恩·克尼漢和丹尼斯·里奇在他們的文章中演示的風格(即K&R風格的變種)。很多人批評這種風格很難用,但實際上它只是有點難學,一旦學會之後就非常清晰易懂,非要說缺點的話,就是有點容易出錯而已。

Ⅳ c語言編譯 提示No such file or directory

由這個錯誤報的路徑F:CWMP r069TR-069_Server_vAlpha_D-LinkTR-069_Server_vAlpha_D-LinkACS_Server/includestart-stop.h可以知道程序頭文件包含出現了問題了。

因為頭文件根本就不存在,所以會出現這樣的錯誤。

要想解決這個問題,需要查看你到底有沒有這個文件。在有的情況下,那就是頭文件的包含路徑出現錯誤,在沒有的情況下,那就是確實沒有這個頭文件。

(4)c語言編譯器哪裡寫錯擴展閱讀:

在C語言家族程序中,頭文件被大量使用。一般而言,每個C++/C程序通常由頭文件和定義文件組成。頭文件作為一種包含功能函數、數據介面聲明的載體文件,主要用於保存程序的聲明,而定義文件用於保存程序的實現。

當要包含的頭文件不存在時,系統會給出錯誤:No such file or directory。頭文件一般不會報其他類型的錯誤。

參考資料來源:網路-頭文件

Ⅳ c語言helloworld代碼是對的,但編譯錯誤

寫c語言的時候,如果代碼沒錯,這只能說明語法沒有出錯,直接導致的結果就是能編譯通過,並不意味著執行的結果就是正確的。影響c語言代碼執行結果的因素非常多。

一、指針的不正確運用;

二、變數精度問題。char,int,unsigned int,long ,float等,如果變數精度使用不正確,也會影響運算結果;

三、運算符的應用不正確。例如除,取余的區別;

四、正負符號位;

五、運算符的優先順序使用;

六、編譯器不同。各種編譯器也可能造成結果不一致;

C語言雖然是一門比較簡單的語言,但是要掌握這些細節,其實並不容易。

閱讀全文

與c語言編譯器哪裡寫錯相關的資料

熱點內容
小杜app上怎麼啟用 瀏覽:305
為什麼伺服器喇叭喊了一次就不行 瀏覽:480
phpdbo驅動 瀏覽:255
程序員尋找轉行建議 瀏覽:632
psgrepjava 瀏覽:415
夢幻誅仙12職業變態源碼 瀏覽:370
汽車的控制是怎麼編程的 瀏覽:686
穩定的ip地址伺服器 瀏覽:641
python多線程編程教程 瀏覽:252
筆記本編程電腦排行榜 瀏覽:32
微信好友緩存文件在哪個文件夾 瀏覽:614
javafloat小數點後兩位小數 瀏覽:166
澳門pdf 瀏覽:409
es解壓文件默認路徑 瀏覽:833
jar命令war包 瀏覽:121
福州交警app預約在哪裡簽字確認 瀏覽:623
android各版本sdk異同 瀏覽:726
怎樣在源碼中找精靈圖片 瀏覽:445
超聲波防盜51單片機 瀏覽:460
國內程序員編程能力 瀏覽:184