❶ C語言怎麼檢查對錯
用微軟的VC6.0就可以,點編譯,就是那個小嘆號,如果是語法錯誤,就會提示你錯誤,在下面的框里提示你哪行錯誤,編譯不會通過,即你的程序無法運行。
然而這是很簡單的,最難的是邏輯錯誤,即編譯可以通過,而運行結果是錯誤的,和你預想的不一樣,而這種錯誤很難查找,只能用分步式運行,一行一行跟著程序執行看結果和過程,才能檢測出來。通常程序員最難解決的錯誤就是這種邏輯錯誤。
❷ 對於C語言編程出了錯,怎麼能快速找出錯誤呢
最直接的方法就是編譯,編譯後再按F4可以顯示錯誤信息及錯誤位置。
如果編譯通過,卻運行結果異常或不理想,往往是邏輯問題,請按順序檢查,如i++寫成i--,i++寫成j++,++i寫成i++,<=寫成<,有的變數一次循環後需要重新賦值清零,在循環末尾一定要寫上重新賦值語句。
❸ 在C語言中,計算機程序通常有哪幾種錯誤
1、系統錯誤:這是指程序沒有語法錯誤和邏輯錯誤,但程序的正常運行依賴於某些外部條件的存在,如果這些外部條件缺失,則程序將不能運行。
2、語法錯誤:這是指程序中含有不符合語法規定的語句,例如關鍵字或符號書寫錯誤(將printf寫成print、將數組元素引用寫成a(2)等)、使用了未定義的變數、括弧不配對等。
3、邏輯錯誤:這是指程序中沒有語法錯誤,可以通過編譯、連接生成可執行程序,但程序運行的結果與預期不相符的錯誤。
C語言程序的特點
1、採用結構化的控制語句,是完全模塊化和結構化的語言。
2、數據類型豐富,具有現代語言的各種數據結構
3、語法限制不太嚴格,程序設計自由度大,同時也意味著容錯性差。
4、允許直接訪問屋裡內存,能進行位操作,能實現匯編語言的大部分功能,可直接對硬體進行操作,兼有高級和低級語言的特點。
5、目標代碼質量高,程序執行效率高(比匯編程序生成的目標代碼低10%-20%)
6、允許在編譯之前使用預處理命令,提高編程效率。
7、以內存使用為核心。
8、C語言程序是由函數構成的。一個源程序不論有多少個文件組成,包含多少個函數,都有且一個 main 函數,及主函數。一個程序總是從 main 函數開始執行,而不論 main 函數在程序什麼位置,程序的執行也結束於主函數,其他函數通過函數調用被執行。
9、函數都要有類型說明,放在函數名前,如 void 表示空類型,沒有返回值。
10、函數體內語句一般按四大功能順次排列,即首先對變數與函數做聲明 ——>變數賦初值 ——>數據計算與處理 ——>輸出結果。
❹ 求教C語言怎麼檢查自己編寫的函數里邊的邏輯錯誤,比如說watch和debug
如果你修過軟體工程,就會知道邏輯錯誤,主要是靠人工檢查來做的,和你具體的語言實現沒有關系。有各種方法或流程,比如流程圖檢查、程序走查、極限編程等,可以幫助你檢查程序邏輯。
首先你要知道你的模塊的作用是什麼,比如這里的 digits() 是求整數中的數字個數,然後可以用邊界值演算的方法來檢查它的實現是否有問題,在紙上演算可以,用 debug 和 watch 也可以,主要是跟蹤幾個關鍵變數 a, j, i 在各種輸入條件(使用特徵和邊界條件比如 num=個位數、=負數的情況)的運行時值。
❺ c語言編譯時需要檢查嗎
你問的需要檢查,是檢查什麼?
C語言編譯時會檢查語法是否正確,類型是否匹配等。不檢查數組越界,死循環,無限遞歸等。
❻ c語言中出現邏輯錯誤時,我們使用什麼方法可以快速找到邏輯錯誤發生的位置(哪一行
你說的邏輯錯誤是指語法沒錯誤,而是代碼實現的邏輯錯誤么
這個的話沒法在編譯鏈接過程中發現
只能靠你自己來查找,首先需要自己對程序結構熟悉,還有使用斷點,查看程序變數
❼ C語言的語法錯誤和邏輯錯誤的區別
語法錯誤: 在編譯的時候會提示你。比如說:for(i=0,i<10,i++)
在編譯的時候會提示你錯誤,要把逗號改成分號。
邏輯錯誤:沒有錯誤提示,能運行,但是達不到自己想要的結果。
❽ 我在編寫C語言代碼的時候,有時候代碼會有一些邏輯上的錯誤,就是代碼可以運行,但得不到正確的結果.
新手最郁悶的事情莫過於程序可以運行但是卻得不到自己的結果了吧。
老手最郁悶的事情莫過於新手問為什麼我的程序可以運行但是卻得不到自己的結果了吧。
比如:
你天天用操作系統。
如果你用過Windows98就應該知道那時候系統經常崩潰的。
但是微軟設計的時候,不會把它故意設計成每小時或者沒幾天崩潰幾次吧。
不崩潰的時候,程序不也是正常運行么。
為什麼得不到自己想要的結果:
那是因為你的程序根本就沒有寫對
比如:
老師讓你輸出:1
你寫個程序輸出:2
你的代碼當然編譯不會出錯。
而且可以很好的運行,但是結果就是2.
永遠都不會是1,因為你就讓他輸出的2,結果怎麼會是1呢。
開發人員都知道:
再也沒有比修改語法錯誤再簡單的了
直接看看編譯器報的錯,看看第幾行,修改。OK。。太簡單了
邏輯錯誤就得調試了
這個世界上只有調試不開發的。沒有開發不調試的。
不會debug。永遠都不是程序員。
你不可能一下子就得到自己想要的結果。
尤其是比較大的程序。
gdb..學習它,使用它,愛上它。
(gdb *nix平台的。如果,而且我猜你用的是Windows,Windows用vs不錯)
❾ 為什麼我寫的C語言程序編譯時沒錯,運行時有錯誤
樓主,你好!編譯沒有錯誤只能說明沒有語法錯誤,並不能說明代碼的邏輯沒有錯!因為編輯器主要是根據c語言的語法來檢查你的代碼有沒有錯!