要知道 C語(yǔ)言是由MAIN函數(shù)開(kāi)始也由它結(jié)束。
創(chuàng)新互聯(lián)建站是專業(yè)的羅定網(wǎng)站建設(shè)公司,羅定接單;提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行羅定網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
每調(diào)用一次分函數(shù),只要運(yùn)行完畢后就會(huì)回到調(diào)用分函數(shù)的地方繼續(xù)往后執(zhí)行。
C語(yǔ)言主要靠函數(shù)調(diào)用和return在函數(shù)之間切換,很難做到在多層調(diào)用中直接返回主函數(shù)。雖然goto語(yǔ)句可以無(wú)條件跳轉(zhuǎn),但是必須在同一個(gè)函數(shù)中使用。
因此解決的方法也是用一個(gè)特殊的值作為需要返回的標(biāo)志,然后在兩層調(diào)用函數(shù)中都遇到該值就返回,但是這個(gè)方法也有兩個(gè)前提:
1)你的兩個(gè)子函數(shù)都是由返回值的函數(shù)
2)你選擇的特殊值和函數(shù)正常的返回的取值不會(huì)沖突,不會(huì)引起二義性。
同樣的操作,C++可以通過(guò)異常處理的throw和catch來(lái)實(shí)現(xiàn)從子函數(shù)的子函數(shù)直接返回主函數(shù),匯編語(yǔ)言可以用jmp指令跳轉(zhuǎn)實(shí)現(xiàn)這個(gè)需求。因此建議你的這個(gè)問(wèn)題還是用C++ 的異常去解決比較好。
斷點(diǎn)調(diào)試就是在程序的某一處設(shè)置一個(gè)斷點(diǎn)。
斷點(diǎn)調(diào)試與c語(yǔ)言沒(méi)有關(guān)系,只與調(diào)試器有關(guān),也就是你的編程環(huán)境用的是什么調(diào)試器。
當(dāng)程序執(zhí)行到該處時(shí)自動(dòng)暫停運(yùn)行程序,可以進(jìn)行調(diào)試,支持?jǐn)帱c(diǎn)調(diào)試的IDE很多,建議用VC++因?yàn)樵谶\(yùn)行菜單里直接有斷點(diǎn)調(diào)試 使用方便。
擴(kuò)展資料:
斷點(diǎn)模式可以看作一種超時(shí)。所有元素(例如,函數(shù)、變量和對(duì)象)都保留在內(nèi)存中,但它們的移動(dòng)和活動(dòng)被掛起了。在中斷模式下,可以檢查它們的位置和狀態(tài),以查看是否存在沖突或 bug。您可以在中斷模式下對(duì)程序進(jìn)行調(diào)整。
例如,可以更改變量的值??梢砸苿?dòng)執(zhí)行點(diǎn),這會(huì)改變執(zhí)行恢復(fù)后將要執(zhí)行的下一條語(yǔ)句。在 C++、C# 和 Visual Basic 中,甚至可以在中斷模式下對(duì)代碼本身進(jìn)行更改(使用一種稱為“編輯并繼續(xù)”的強(qiáng)大功能)。
參考資料來(lái)源:百度百科-斷點(diǎn)
1、斷點(diǎn)就是在調(diào)試的時(shí)候中斷一下,比如
#includestido.h
int main(void)
{
printf("hello .\n");
printf("hello world.\n");
return 0;
}
如果這個(gè)程序在第一個(gè)printf語(yǔ)句后設(shè)置斷點(diǎn)就只輸出hello,如果在第二個(gè)printf語(yǔ)句后設(shè)置斷點(diǎn),則兩個(gè)printf后的語(yǔ)句都輸出。
2、將光標(biāo)移動(dòng)到想設(shè)置斷點(diǎn)的地方,按一下F9鍵即可,或者可以用鼠標(biāo)左鍵點(diǎn)擊小手圖標(biāo)。
當(dāng)想取消斷點(diǎn)時(shí),可以再按一下F9鍵,或者選擇edit-breakpoints,同樣可以移除斷點(diǎn)。
也可以通過(guò)alt + f9快捷鍵顯示斷點(diǎn)對(duì)話框。
擴(kuò)展資料:
C語(yǔ)言函數(shù)
int abs(int i) 返回整型參數(shù)i的絕對(duì)值
double cabs(struct complex znum) 返回復(fù)數(shù)znum的絕對(duì)值
double fabs(double x) 返回雙精度參數(shù)x的絕對(duì)值
void srand(unsigned seed) 初始化隨機(jī)數(shù)發(fā)生器
int rand() 產(chǎn)生一個(gè)隨機(jī)數(shù)并返回這個(gè)數(shù)
參考資料來(lái)源:百度百科-C語(yǔ)言函數(shù)
VC6.0
F9——插入刪除斷點(diǎn),斷點(diǎn)位置為光標(biāo)所在行
F5——go,開(kāi)始運(yùn)行,到斷點(diǎn)會(huì)自動(dòng)停止,沒(méi)有斷點(diǎn),會(huì)運(yùn)行完
F10——向前走一步,不進(jìn)入函數(shù)內(nèi)部
F11——向前走一步,如果由函數(shù)就進(jìn)入內(nèi)部
未開(kāi)始調(diào)試的情況下,按F10或者F11,會(huì)自動(dòng)開(kāi)始調(diào)試,鼠標(biāo)自動(dòng)定位到頭部
Shift+F11——如果進(jìn)入了函數(shù),執(zhí)行到中間,想跳出來(lái),就按這個(gè)
Ctrl+F10——運(yùn)行到光標(biāo),個(gè)人覺(jué)得這個(gè)很好用,覺(jué)得哪一行可能會(huì)出問(wèn)題,在這一行前點(diǎn)一下鼠標(biāo),然后按下這倆鍵,就運(yùn)行到這里了,不用設(shè)置斷點(diǎn)。
至于查值,說(shuō)的是在上述調(diào)試運(yùn)行到某一行的過(guò)程中,查看某個(gè)變量的值,這個(gè)可以通過(guò)下方出現(xiàn)的Variable和Watch窗口查看,Variable不能輸入,自動(dòng)出現(xiàn)相關(guān)變量的值,watch窗口,可以自己輸入變量名稱,查看運(yùn)行到某一步時(shí)的變量值。
如果沒(méi)有這兩個(gè)窗口,可以在菜單欄右側(cè)右鍵,勾選variable和watch,就會(huì)出現(xiàn)。在VS中按下CTRL+D+W,也會(huì)出現(xiàn)watch窗口。
暫時(shí)就想起這么多了,有機(jī)會(huì)再補(bǔ)充吧。
當(dāng)前標(biāo)題:c語(yǔ)言斷點(diǎn)調(diào)試子函數(shù) c程序斷點(diǎn)
本文來(lái)源:http://www.rwnh.cn/article30/ddosjpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、響應(yīng)式網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)公司、移動(dòng)網(wǎng)站建設(shè)、面包屑導(dǎo)航、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)