看情況。return在C語言中不是必須的。C語言中的函數定義分為函數入口和函數出口。當有入口參數或者出口參數時,需要說明參數的數據類型。如定義一個延時函數,入口參數為延時時間,延時后不需要返回參數。因此可以定義如下:voiddelayms(unsignedintT){...}void代表不需要返回值,也就是不需要使用return。unsignedintT代表入口參數。
以下四個代碼都能正確運行
#includemain(){doublegrade[200];doublesum,avg,temp;intcount,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);
}#includeintmain(){doublegrade[200];doublesum,avg,temp;intcount,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);
}#includemain(){doublegrade[200];doublesum,avg,temp;intcount,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);
}#includemain(){doublegrade[200];doublesum,avg,temp;intcount,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);return0;}
main函數里的return0;可以省略,但是這么寫,返回值是不確定的,不過如果返回值(操作系統和執行你程序的另一個程序會得到)無關緊要,那么寫不寫無所謂。