你其實(shí)問了一個(gè)很復(fù)雜的問題,牽涉到一個(gè)應(yīng)用程序的生死過程,給你簡(jiǎn)單講解如下:
創(chuàng)新互聯(lián)專注于繁昌網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供繁昌營銷型網(wǎng)站建設(shè),繁昌網(wǎng)站制作、繁昌網(wǎng)頁設(shè)計(jì)、繁昌網(wǎng)站官網(wǎng)定制、微信小程序開發(fā)服務(wù),打造繁昌網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供繁昌網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
(1)一個(gè)Windows應(yīng)用程序的執(zhí)行過程是:
操作系統(tǒng)調(diào)用C/C++運(yùn)行期啟動(dòng)函數(shù)-啟動(dòng)函數(shù)做完所有初始化工作后-調(diào)用應(yīng)用程序進(jìn)入點(diǎn)函數(shù)(即我們的主函數(shù))
(2)而主函數(shù)返回時(shí)-啟動(dòng)函數(shù)便調(diào)用C/C++運(yùn)行期的exit函數(shù)。
(3)通常我們的主函數(shù)有這樣一個(gè)整型返回值,其意義為:當(dāng)主函數(shù)返回時(shí),這個(gè)返回值就會(huì)傳遞給這個(gè)exit函數(shù)作為參數(shù),exit函數(shù)先做完所有清理工作,然后調(diào)用操作系統(tǒng)的ExitProcess函數(shù)并將返回值傳遞給它,這使得操作系統(tǒng)能夠撤銷進(jìn)程并設(shè)置退出代碼。通常0表示正常返回,非零的其他值表示出現(xiàn)錯(cuò)誤。
(4)我們的主函數(shù)可以定義為類似void main()這個(gè)樣子,即無返回值,那么這個(gè)時(shí)候就不能用return語句把退出代碼傳遞給父進(jìn)程或操作系統(tǒng),此時(shí)操作系統(tǒng)可以撤銷進(jìn)程但不會(huì)設(shè)置退出代碼。當(dāng)然在這種情況下,你還是有辦法設(shè)置退出代碼,那就是顯式地調(diào)用exit(退出代碼)。
int main()
{
float a = 1.0;
printf("%f", a); // 在標(biāo)準(zhǔn)輸出設(shè)備(一般為計(jì)算機(jī)的顯示器)上,輸出a的值
return 0; // 正常返回
}
把你那個(gè)double 全換成 int 還有那個(gè)%lf也換一下 %d下面你看看我的 #include "stdio.h"int fnJc(int n);int fnJc(int n)
{
int i, iJ=1; for(i=1; i=n; i++)
iJ = iJ * i; return iJ;
}void main(void)
{
int n, iJ; printf("Input one integer: ");
scanf("%d", n);
iJ = fnJc(n); printf(" %d! = %d\n", n, iJ);
}有不懂的 請(qǐng)追問
函數(shù)的返回值通過return語句來執(zhí)行,即return后的變量或表達(dá)式的值,就為該函數(shù)的返回值(你可以根據(jù)需要自定義返回什么值),而返回值的類型是指該值你想要得到的類型,比如return
a;(a的類型,你在函數(shù)體里定義的是int
a;但根據(jù)需要,你要的是一個(gè)float型的返回值),于是,這樣定義一個(gè)函數(shù):
float
函數(shù)名(參數(shù)列表)
{
int
a;
函數(shù)體;
……
return
a;
}
這樣,返回值a就變成了float型。
在函數(shù)中,如果碰到return 語句,那么程序就會(huì)返回調(diào)用該函數(shù)的下一條語句執(zhí)行,也就是說跳出函數(shù)的執(zhí)行,回到原來的地方繼續(xù)執(zhí)行下去。但是如果是在主函數(shù)中碰到return語句,那么整個(gè)程序就會(huì)停止,退出程序的執(zhí)行。
函數(shù)的返回值是由返回語句return實(shí)現(xiàn)的,函數(shù)執(zhí)行的最后一個(gè)操作就是返回,返回的意義是:
(1)子程序函數(shù)返回主調(diào)函數(shù),宣告函數(shù)的一次執(zhí)行結(jié)束,在調(diào)用期間所分配的變量單元被撤消;
(2)送函數(shù)值到調(diào)用表達(dá)式中,當(dāng)然這一點(diǎn)并不是必需的,因?yàn)橛行┖瘮?shù)有返回值,有些函數(shù)沒有返回值。
擴(kuò)展資料:
c語言中return作為英語單詞的含義:
return,英文單詞,動(dòng)詞、名詞、形容詞,作動(dòng)詞時(shí)意為“返回;(尤指感覺)恢復(fù);把……退回;以……相報(bào);(網(wǎng)球等)回?fù)簦ㄇ颍?,作名詞時(shí)意為“返回;恢復(fù);歸還;(網(wǎng)球等)回?fù)羟颍槐煌嘶氐臇|西;回路導(dǎo)線”,作形容詞時(shí)意為“來回的;巡回的;報(bào)答的;回程的;返回的”。
參考資料來源:百度百科-return
參考資料來源:百度百科-return