回覆列表
  • 1 # 全棧ACE

    首先我們要弄清楚在什麼情況下需要有return。它一般是指函式的返回值。即如果我們需要一個函式有返回值,那它的返回值是多少?

    有返回值的函式,自然對應是沒有返回值的函式。沒有返回值的函式,在函式宣告時其返回值型別為void。如果是這樣的函式,那麼它就不需要透過return進行返回任何型別。

    如果一個函式在宣告時,其返回值型別為int。那麼此時我們就需要用return對這個函式進行返回。當然返回值型別不僅是int,可以是string或者是bool等等。

    至於有返回值的函式和沒有返回值的函式,其具體描述。可以看作,如果我將一封信給一個信使,讓他幫我把這封信寄給某個人,只要寄到就可以,我把信給他就不管了。那麼類似這樣的動作可以視作沒有返回值的函式。

    相反,如果我把這個信給這個形勢,我跟他說,你幫我把信寄給A之後我需要拿到A的一封回信,或者說A會給一封回信給我。那麼此時信使把我的信給了A之後,又帶回了A給我的回信,那麼此時可以視作有返回值的函式。

    那麼我們言歸正傳,如果c語言中寫return 0是什麼意思呢?一般在c語言中寫return 0,一般是在返回值要求為int或者返回值為bool也就是真假型別函式中。那麼返回值為int的函式返回一個0,說明我執行完這個函式後,它會返回一個數值為0的數字給我。如果返回值為真假型別返回一個0,說明執行完這個函式後,它會返回一個“假”狀態給我。

    這就是在c語言中寫return 0的意義。

  • 2 # 嘉靖不上朝

    其實看你return 0;在什麼函數里面。

    如果是在mian函數里面,建議:

    int main(){

    //something to do

    //main函式的返回值用於說明程式的退出狀態。

    //如果返回0,則代表程式正常退出,否則代表程式異常退出。

    return 0;

    }

    這樣程式正常告訴作業系統並正常退出。

    要是一般的自定義的函式,那麼可以返回,也可以不返回。就看你的函式需不需要返回值、需要返回什麼值。

    int youFunctionWithReturnValue(){

    //do something

    return 0;//或者其他你的結果的返回值

    }

    void youFunctionNoReturnValue(){

    //do something

    //不需要返回值

    }

  • 3 # 風信子視野

    看情況。return在C語言中不是必須的。C語言中的函式定義分為函式入口和函數出口。當有入口引數或者出口引數時,需要說明引數的資料型別。如定義一個延時函式,入口引數為延時時間,延時後不需要返回引數。因此可以定義如下:void delayms(unsigned int T){...}void代表不需要返回值,也就是不需要使用return。unsigned int T代表入口引數。

    以下四個程式碼都能正確執行

    #include main(){double grade[200];double sum,avg,temp;int count,i,n;i=0;count=0;sum=0;printf("請依次輸入每個同學的成績,輸入-1結束\n");scanf("%lf",&temp);while(temp!=-1){grade[i++]=temp;count++;sum=sum+temp;scanf("%lf",&temp);}avg=sum/count;n=0;for(i=0;i {if(grade[i]>=avg)n++;}printf("全班平均分%.2lf,成績大於等於平均分的人有%d人\n",avg,n);

    }#include int main(){double grade[200];double sum,avg,temp;int count,i,n;i=0;count=0;sum=0;printf("請依次輸入每個同學的成績,輸入-1結束\n");scanf("%lf",&temp);while(temp!=-1){grade[i++]=temp;count++;sum=sum+temp;scanf("%lf",&temp);}avg=sum/count;n=0;for(i=0;i {if(grade[i]>=avg)n++;}printf("全班平均分%.2lf,成績大於等於平均分的人有%d人\n",avg,n);

    }#include main(){double grade[200];double sum,avg,temp;int count,i,n;i=0;count=0;sum=0;printf("請依次輸入每個同學的成績,輸入-1結束\n");scanf("%lf",&temp);while(temp!=-1){grade[i++]=temp;count++;sum=sum+temp;scanf("%lf",&temp);}avg=sum/count;n=0;for(i=0;i {if(grade[i]>=avg)n++;}printf("全班平均分%.2lf,成績大於等於平均分的人有%d人\n",avg,n);

    }#include main(){double grade[200];double sum,avg,temp;int count,i,n;i=0;count=0;sum=0;printf("請依次輸入每個同學的成績,輸入-1結束\n");scanf("%lf",&temp);while(temp!=-1){grade[i++]=temp;count++;sum=sum+temp;scanf("%lf",&temp);}avg=sum/count;n=0;for(i=0;i {if(grade[i]>=avg)n++;}printf("全班平均分%.2lf,成績大於等於平均分的人有%d人\n",avg,n); return 0;}

    main函數里的return 0;可以省略,但是這麼寫,返回值是不確定的,不過如果返回值(作業系統和執行你程式的另一個程式會得到)無關緊要,那麼寫不寫無所謂。

  • 4 # Lis銳評

    如果是int main()則必須有返回值如return 0

    如果是void main()則不用返回值

  • 中秋節和大豐收的關聯?
  • 黑面板的人染什麼顏色的頭髮好看?