函數(shù)是用戶與程序的接口,在定義一個函數(shù)前,首先要清楚以下三個問題。1) 函數(shù)的功能實現(xiàn)及算法選擇。算法選擇會在后續(xù)文章詳細講解,本節(jié)重點關注函數(shù)的功能實現(xiàn)。一般選取能體現(xiàn)函數(shù)功能的函數(shù)名,且見名知意,如求和函數(shù)的函數(shù)名可取為 add,求最大值的函數(shù)名可取為 max,排序函數(shù)可取名為 sort 等。2) 需要用戶傳給該函數(shù)哪些參數(shù)、什么類型,即函數(shù)參數(shù)。3) 函數(shù)執(zhí)行完后返回給調用者的參數(shù)及類型,即函數(shù)返回值類型。 函教定義格式 函數(shù)定義的一般格式為: 返回類型 函數(shù)名 (類型參數(shù)1,類型參數(shù)2,…) {函數(shù)體 }也可以不含參數(shù),不含參數(shù)時,參數(shù)表中可寫關鍵字 void 或省略,為規(guī)范起見,教程中對沒有參數(shù)的函數(shù),參數(shù)表中統(tǒng)一寫 void。例如: 類型 函數(shù)名 () {函數(shù)體 }等價于: 類型 函數(shù)名 (void) //建議的書寫方式 {函數(shù)體 } 如果該函數(shù)沒有返回類型,則為 void 類型。例如: void add (int x,int y) {printf ("sum=%d\n", x+y); } 除了 void 類型外,在函數(shù)體中,均需要顯式使用 return 語句返回對應的表達式的值。 函教返回值 函數(shù)的值是指調用函數(shù)結束時,執(zhí)行函數(shù)體所得并返回給主調函數(shù)的值。 關于函數(shù)返回值說明如下。1) 帶返回值的函數(shù),其值一般使用 return 語句返回給調用者。其格式為: return 表達式;或者 return (表達式);例如: int add (int a, int b) {return (a + b); //return 后為表達式 } 函數(shù)可以含一個或多個 return 語句,但每次調用時只能執(zhí)行其中一個 return 語句。例如,求整數(shù)絕對值的函數(shù): int f (int n) //含多個return語句,但每次調用只執(zhí)行一個 {if (n = 0)return n;elsereturn -n; }
創(chuàng)新互聯(lián)公司2013年成立,是專業(yè)互聯(lián)網技術服務公司,擁有項目成都網站建設、網站建設網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元南昌做網站,已為上家服務,為南昌各地企業(yè)和個人服務,聯(lián)系電話:18980820575
主函數(shù):
一般而言,編寫一個能運行在操作系統(tǒng)上的程序,都需要一個主函數(shù)。主函數(shù)意味著建立一個獨立進程,且該進程成為了程序的入口,對其它各函數(shù)(在某些OOP語言里稱作方法,比如Java)進行調用,當然其它被調用函數(shù)也可以再去調用更多函數(shù).......這樣整個程序的運行軌跡就像一種棧,有時我們稱之為調用棧。主函數(shù)既是程序的入口,又是程序的出口,通常我們還可以指定一個exit code再退出,以表明程序最后的結果是什么樣的。
C語言
按照C99標準的規(guī)定,C語言的main函數(shù)如下:
int main(
void){/*百度百科示例代碼*/}//整數(shù)類型主函數(shù)(無類型)
或者
int main(intargc,
char*argv[]){/*百度百科示例代碼*/}//整數(shù)類型主函數(shù)(整數(shù)類型統(tǒng)計參數(shù)個數(shù),字符類型*
數(shù)組指針至字符[])
C++語言
按照C++98標準和C++11標準的規(guī)定,C++語言的主函數(shù)如下:
int main(){/*百度百科示例代碼*/}//整數(shù)類型主函數(shù)
或者
int main(intargc,
char*argv[]){/*百度百科示例代碼*/}//整數(shù)類型主函數(shù)(整數(shù)類型統(tǒng)計參數(shù)個數(shù),字符類型*
數(shù)組指針至字符[])
準確的說,叫“聲明”。在c中,可以“聲明-使用-定義”的方法,也可以用定義代替聲明,但是必須在使用它之前。如 191462264舉的例子,可以這樣寫:
#includestdio.h
int fun(int x,int y) /*函數(shù)定義*/
{
int z;
z=x+y;
return z;
}
main()
{
int a,b,c;
scanf("%d%d",a,b);
c=fun(a,b);
printf("%d",c);
}
如果是先聲明,需要注意格式:
【返回類型】 函數(shù)名(參數(shù)1類型 參數(shù)1,【參數(shù)2類型 參數(shù)2,……】);
注意最后的分號,因為這是一個語句。但是如果是定義的話,如上,int fun(int x,int y) ,最后并沒有分號,因為緊接著是函數(shù)體,函數(shù)頭和函數(shù)體合起來算是一個程序段,在{ }最后也不需要分號。