導航:首頁 > 軟體知識 > c語言運行程序時從哪裡找錯

c語言運行程序時從哪裡找錯

發布時間:2023-05-23 07:29:07

⑴ C語言小程序 找運行時到哪一行出錯誤 求詳細說明

a.pc = p;之前的語句都是笑簡起干擾作用,可以直接忽略。
且看a.pc = p之後,a.pc這個指針指向a.c,也就是結構提a的起始地址,
則有下圖可以看到a.pc[0]到a.pc[7]所指向的內存如下
(注意32位編譯器默認的4位元組對齊):

+-----------------------------+
| a.c | // a.pc[0]
+-----------------------------+
| 位元組補齊 | // a.pc[1]
+-----------------------------+
| 位元組補齊 | // a.pc[2]
+-----------------------------+
| 位元組補齊 | // a.pc[3]
+-----------------------------+
| a.pc 位元組0 | //培纖 a.pc[4]
+-----------------------------+
| a.pc 位元組1 | // a.pc[5]
+-----------------------------+
| a.pc 位元組配升仿2 | // a.pc[6]
+-----------------------------+
| a.pc 位元組3 | // a.pc[7]
+-----------------------------+

因此,當對a.pc[4] 到 a.pc[7]賦值的時候,也改變了a.pc本身的值,使指針無效。
對無效指針的遞應用可能但並不一定會導致程序崩潰。
因此我判斷a.pc[4]或之後語句可能會崩潰。

可以在對每個a.pc[x]賦值語句之後,列印a.pc的值看指針是否被破壞:
printf("a.pc: %p\n", a.pc);

⑵ 如何快速查找C語言編譯時的錯誤

1、首先,我們啟動編譯軟體程序,今天我們以VC++6.0為例。

注意事項簡團:

編譯語言是一種以編譯器來實現的編程語言。它不像直譯語言數閉一樣,由解釋器將代碼一句一句運行,而是以編譯器,先將代碼編譯為機器碼,再加以運行。理論上,任何編程語言都可以是編譯式,或直譯式的。它們之間的區別,僅薯咐裂與程序的應用有關。

⑶ 對於C語言編程出了錯,怎麼能快速找出錯誤呢

代碼是否存在邏輯錯誤:

1、變數使用前未被數值

實例:

int main()

{

int x=5,y,z;

z=x*y;

printf("%d",z);

return 0;

}

在渣梁此程序中變數y在使用之前未被賦值,扒梁圓所以結果輸出z的值就會是春塌系統隨機分配一個值給y再加乘以x的值。

2、把賦值賦值符號「=」與等於符號「==」相混淆

實例:

有一下語句:

if(a=5)

{

printf("a等於5");

}

輸出的結果永遠都是「a等於5」,原因是在執行if(a=5)之時,無論a之前是什麼值,此時都會被重新賦值為5,而不是把a的值與5相比較,而正確的表示比較的表示為:

if(a==5)

{

printf("a等於5");

}

(3)c語言運行程序時從哪裡找錯擴展閱讀

C語言編程注意事項:

1、書寫標識符時,忽略了大小寫字母的區別。

2、將字元常量與字元串常量混淆。

3、忽略了變數的類型,進行了不合法的運算。

4、忽略了「=」與「==」的區別。

5、忘記加分號。

6、多加分號。

7、輸入變數時忘記加地址運算符「&」。

⑷ C語言菜鳥跪求高手幫忙找找程序到底錯在哪裡,萬分感謝

你這段程序有兩個錯誤:

1.float sun=0,score; 這個變數聲明的語句一個放在執行語句之前,也就是把羨顫這一句放在scanf語句前即可。【重點要記住,每個函數的變數聲明語句都應該放在其他語句的前面。】

2.後面3個error,很明顯,你使用的變數沒有聲明過(undeclared identifier)。屬於書寫錯誤弊扮。你租派灶的定義了sun後面寫成了sum,score寫成了sore。

⑸ 如何查找C語言程序中的錯誤

關於語法錯誤,編譯器就能夠指示,如果你的程序有語法錯誤,你的程序根本不可能生成可執行程序,
關於邏輯錯誤,一般來說需要自己斷點調試,看出來沖粗你是新手,那麼還是散姿鎮使用圖形界面的調試程序把,推冊氏薦devc++或者eclipse加上c的插件。

⑹ C語言:哪裡錯了

你的程序代碼談攜他可以處理大於等於零的整數,但是如果對於負的整數程序就不能處理,就會出錯。是含昌伏迅喚不是這個原因,題目有沒有要求能夠包含負數。

⑺ c語言編程軟體出現error 怎麼用快捷鍵查找到錯誤在哪一行 我記得是F幾來著

F4錯誤查找
F7編譯整個項目
ctrl+F7編譯當前源文件
Ctrl+F5非調試運行直接生成扒胡exe文件
shift+F5結束運行
F9設斷點
F10單步調試,只在main函數中進行
F11進入函數體內部
shift+F11運行至當前函數體外
shift+箭頭選中文本
Alt+F8整理選中代碼弊禪
Alt+0
顯示Workspace工作區窗口
Alt+2顯示輸出窗口
Alt+3顯示變數觀察窗口
Alt+4顯示變數自動查看窗口春卜攔
Alt+5顯示寄存器查看窗口
Alt+6顯示內存查看窗口
Alt+7顯示堆棧窗口
Alt+8顯示匯編窗口

閱讀全文

與c語言運行程序時從哪裡找錯相關的資料

熱點內容
茶葉應用於哪些產品 瀏覽:641
期貨產品什麼時間開始的 瀏覽:210
和平精英如何提倡計量技術 瀏覽:432
麥吉麗代理費什麼時候能退 瀏覽:724
如何把自啟動程序變為服務 瀏覽:29
比起不回信息收到在忙哪個更傷心 瀏覽:657
龍華市場到深圳西站坐什麼車 瀏覽:657
怎麼回復百合信息 瀏覽:613
隨州東興市場哪裡有修摩托車的 瀏覽:102
怎麼看下個交易日的開盤價位 瀏覽:782
交警走程序抽血檢驗什麼 瀏覽:898
成都建材市場前景怎麼樣 瀏覽:5
神州技術學院有哪些專業 瀏覽:462
代理國庫稅收收繳什麼時候生效 瀏覽:279
為什麼做趨勢交易很多人都沒錢 瀏覽:122
小程序的diy是什麼意思 瀏覽:330
產品經理ppt怎麼寫 瀏覽:253
技術培訓機構如何做 瀏覽:725
揚州駕駛求職市場前景如何 瀏覽:999
信息經營在哪個類目下 瀏覽:942