⑴ 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顯示匯編窗口