return是什么意思
發(fā)布時(shí)間:2025-12-05 | 來(lái)源:互聯(lián)網(wǎng)轉(zhuǎn)載和整理
C語(yǔ)言中寫(xiě)return 0;是不是都可以省略?
看情況。
return在C語(yǔ)言中不是必須的。
C語(yǔ)言中的函數(shù)定義分為函數(shù)入口和函數(shù)出口。
當(dāng)有入口參數(shù)或者出口參數(shù)時(shí),需要說(shuō)明參數(shù)的數(shù)據(jù)類(lèi)型。
如定義一個(gè)延時(shí)函數(shù),入口參數(shù)為延時(shí)時(shí)間,延時(shí)后不需要返回參數(shù)。
因此可以定義如下:void delayms(unsigned int T){.}void代表不需要返回值,也就是不需要使用return。
unsigned int T代表入口參數(shù)。
以下四個(gè)代碼都能正確運(yùn)行#include main(){double grade[200];double sum,avg,temp;int count,i,n;i=0;count=0;sum=0;printf("請(qǐng)依次輸入每個(gè)同學(xué)的成績(jī),輸入-1結(jié)束n");scanf("%lftemp);while(temp!=-1){grade[i++]=temp;count++;sum=sum+temp;scanf("%lftemp);}avg=sum/count;n=0;for(i=0;i {if(grade[i]>=avg)n++;}printf("全班平均分%.2lf,成績(jī)大于等于平均分的人有%d人navg,n);}#include int main(){double grade[200];double sum,avg,temp;int count,i,n;i=0;count=0;sum=0;printf("請(qǐng)依次輸入每個(gè)同學(xué)的成績(jī),輸入-1結(jié)束n");scanf("%lftemp);while(temp!=-1){grade[i++]=temp;count++;sum=sum+temp;scanf("%lftemp);}avg=sum/count;n=0;for(i=0;i {if(grade[i]>=avg)n++;}printf("全班平均分%.2lf,成績(jī)大于等于平均分的人有%d人navg,n);}#include main(){double grade[200];double sum,avg,temp;int count,i,n;i=0;count=0;sum=0;printf("請(qǐng)依次輸入每個(gè)同學(xué)的成績(jī),輸入-1結(jié)束n");scanf("%lftemp);while(temp!=-1){grade[i++]=temp;count++;sum=sum+temp;scanf("%lftemp);}avg=sum/count;n=0;for(i=0;i {if(grade[i]>=avg)n++;}printf("全班平均分%.2lf,成績(jī)大于等于平均分的人有%d人navg,n);}#include main(){double grade[200];double sum,avg,temp;int count,i,n;i=0;count=0;sum=0;printf("請(qǐng)依次輸入每個(gè)同學(xué)的成績(jī),輸入-1結(jié)束n");scanf("%lftemp);while(temp!=-1){grade[i++]=temp;count++;sum=sum+temp;scanf("%lftemp);}avg=sum/count;n=0;for(i=0;i {if(grade[i]>=avg)n++;}printf("全班平均分%.2lf,成績(jī)大于等于平均分的人有%d人navg,n); return 0;}main函數(shù)里的return 0;可以省略,但是這么寫(xiě),返回值是不確定的,不過(guò)如果返回值(操作系統(tǒng)和執(zhí)行你程序的另一個(gè)程序會(huì)得到)無(wú)關(guān)緊要,那么寫(xiě)不寫(xiě)無(wú)所謂。
首先我們要弄清楚在什么情況下需要有return。
它一般是指函數(shù)的返回值。
即如果我們需要一個(gè)函數(shù)有返回值,那它的返回值是多少?有返回值的函數(shù),自然對(duì)應(yīng)是沒(méi)有返回值的函數(shù)。
沒(méi)有返回值的函數(shù),在函數(shù)聲明時(shí)其返回值類(lèi)型為void。
如果是這樣的函數(shù),那么它就不需要通過(guò)return進(jìn)行返回任何類(lèi)型。
如果一個(gè)函數(shù)在聲明時(shí),其返回值類(lèi)型為int。
那么此時(shí)我們就需要用return對(duì)這個(gè)函數(shù)進(jìn)行返回。
當(dāng)然返回值類(lèi)型不僅是int,可以是string或者是bool等等。
至于有返回值的函數(shù)和沒(méi)有返回值的函數(shù),其具體描述。
可以看作,如果我將一封信給一個(gè)信使,讓他幫我把這封信寄給某個(gè)人,只要寄到就可以,我把信給他就不管了。
那么類(lèi)似這樣的動(dòng)作可以視作沒(méi)有返回值的函數(shù)。
相反,如果我把這個(gè)信給這個(gè)形勢(shì),我跟他說(shuō),你幫我把信寄給A之后我需要拿到A的一封回信,或者說(shuō)A會(huì)給一封回信給我。
那么此時(shí)信使把我的信給了A之后,又帶回了A給我的回信,那么此時(shí)可以視作有返回值的函數(shù)。
那么我們言歸正傳,如果c語(yǔ)言中寫(xiě)return 0是什么意思呢?一般在c語(yǔ)言中寫(xiě)return 0,一般是在返回值要求為int或者返回值為bool也就是真假類(lèi)型函數(shù)中。
那么返回值為int的函數(shù)返回一個(gè)0,說(shuō)明我執(zhí)行完這個(gè)函數(shù)后,它會(huì)返回一個(gè)數(shù)值為0的數(shù)字給我。
如果返回值為真假類(lèi)型返回一個(gè)0,說(shuō)明執(zhí)行完這個(gè)函數(shù)后,它會(huì)返回一個(gè)“假”狀態(tài)給我。
這就是在c語(yǔ)言中寫(xiě)return 0的意義。
上一篇:星際1里神族各種科技的作用