導航:首頁 > 編程知識 > 編程出錯找不到錯誤怎麼辦

編程出錯找不到錯誤怎麼辦

發布時間:2023-06-11 11:49:00

❶ 編程錯誤的時候一般怎麼找出錯誤,不是編譯錯誤是編程錯誤

通常編程錯誤分為如下幾種類型:
(1)、程序代碼中的語法錯誤。這類錯誤是最容易檢查出來的。例如:在 C 語言中沒有定義某個變數就使用該變數。源程序舉例如下:
void main( )
{
int n1 = 50 ; /* 定義了一個整型變數 n1,並賦初值為 50 */

printf("n1 = %d\tn2=%d\n", n1, n2) ; /* 輸出變數 n1、n2 的值 */

}
由於在使用 printf 語句之前並沒有定義 n2 變數,故該程序在使用編譯器對源程序進行編譯時會出現語法錯誤。
(2)、程序源代碼中的警告錯誤。這類錯誤就不像(1)中那樣容易檢查出來。通常的情況有:數組越界、或者是雖然定義了某個變數,但是未對其進行初始化就引用它,等等。這些都會引起程序莫名其妙的錯誤。而這些錯誤會加大程序的調試難度。源程序舉例如下:

程序一、數組越界問題的舉例
void main( )
{
int a[100] ; /* 定義一個數組元素個數為 100 的整型數組 a,正確的下標范圍是:a[0] - a[99] */

a[100] = 500 ; /* 對數組下標元素 a[100] 進行賦值為 500,該錯誤就屬於數組越界錯誤 */

}
程序二、雖然定義了某個變數,但是未對其進行初始化就引用它的舉例
void main( )
{
int i, sum ;

for( i = 0 ; i <= 100 ; i ++ )

sum += i ;

}
該程序的功能是:將變數 i 的值從 0 到 100 之間進行循環,求累加和,並將結果保存在變數 sum 中。由於變數 sum 在進入 for 循環之前並未將其清零(sum = 0),故該程序會隨著 C 語言的編譯器的不同、以及計算機操作系統的不同(Windows、或者是 Linux),而導致該程序的運行結果也是隨機的。
程序一、以及程序二的錯誤就是屬於警告錯誤。C 語言編譯器在對這類程序進行編譯時,並不檢查該程序中是否有數組越界現象、或者是雖然定義了某個變數,但是未對其進行初始化就進行引用的檢查。這類錯誤,用戶就比較難於調試。
至於說到底需要多長時間才能夠將自己編寫的源程序全部調試通過,這個因人而異。編程經驗豐富的人員花費的時間就會短一些。反之,調試程序所花費的時間就會長一些。

❷ 51單片機編程總是出錯語句找不出錯誤來

在C51編寫51程序的時候不支持臨時定義變數,所以變數的定義必須放在每個函數開始最前面的位置,一但你寫了其他非定義變數的可執行語句,比如P2=0x0;這種語句後就不能再定義變數了。你把順序改一下就可以了。

❸ 用c語言編程,編譯後有錯誤卻不顯示

這個狀態表示:你的程序沒有錯誤,而是系統安裝不完整,或者其他問題導致編譯的最後一個階段(連接)無法進行,這個階段執行的命令的cl.exe,執行這個程序報錯了。

閱讀全文

與編程出錯找不到錯誤怎麼辦相關的資料

熱點內容
海關wc文件 瀏覽:474
網路電視app下載 瀏覽:868
華為手機電腦傳輸文件 瀏覽:110
word郵件合並背景 瀏覽:518
護師考試題庫app哪個好免費 瀏覽:597
什麼網站最適合做廣告的呢 瀏覽:189
怎麼建立一個網路平台 瀏覽:481
ios記錄密碼的 瀏覽:254
重裝了系統為什麼之前的文件還在 瀏覽:356
低版ps怎麼打開高版本文件 瀏覽:487
文件夾中搜索文件 瀏覽:85
超算編程語言有哪些 瀏覽:479
i337版本 瀏覽:714
電腦桌面文件夾找不到怎麼恢復 瀏覽:471
ug編程軟體如何下載安裝 瀏覽:843
網路規劃與設計課後題參考答案 瀏覽:290
蘋果手機游戲無法聯網 瀏覽:184
正規編程器件有哪些 瀏覽:422
carplay建議下什麼app 瀏覽:326
邢台紀委網站怎麼下載 瀏覽:881

友情鏈接