定義一個函數(shù)我們需要確定以下內(nèi)容:
成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供曲松企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計、成都做網(wǎng)站、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為曲松眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計公司優(yōu)惠進(jìn)行中。
1、函數(shù)的返回值類型
2、函數(shù)的名稱
3、函數(shù)的參數(shù)
4、函數(shù)主體代碼塊
示例代碼:
int definePlus(int a, int b)
{
a = a + 1;
b = b + 1; ??
return a + b;
}
例如上面代碼中就定義了一個返回值為int類型的函數(shù),其函數(shù)名為definePlus,一對小括號中的內(nèi)容為這個函數(shù)的參數(shù),也就是說這個函數(shù)有兩個傳入?yún)?shù)int a和int b。
在函數(shù)體內(nèi),分別讓a在原來的基礎(chǔ)上加1,讓b在原來的基礎(chǔ)上加1,然后使用return關(guān)鍵字返回a + b的和。如果a的值是2,而b的值是3,那么這個函數(shù)的返回值則是7。
擴(kuò)展資料
函數(shù)的調(diào)用與聲明
如果函數(shù)的定義是在調(diào)用函數(shù)的后面則需要在調(diào)用之前聲明函數(shù)的定義,否則不需要事先聲明。聲明的意思是告訴編譯器,這個函數(shù)的返回值類型、函數(shù)名和參數(shù)。
在調(diào)用一個函數(shù)時,需要向這個函數(shù)傳其需要的參數(shù),例如a和b這兩個變量,并可以指定另一個變量用于接收這個函數(shù)執(zhí)行后的返回值,比如變量c就接收了函數(shù)wrongplus()的返回值,結(jié)果為7。
但是我們看到程序的運行結(jié)果是?2 + 3 = 7,也就是說,執(zhí)行了函數(shù)wrongplus()后,我們雖然對函數(shù)內(nèi)的參數(shù)變量分別加1,但主函數(shù)main中的a和b的值并沒有發(fā)生變化。示例代碼:
#include stdio.h
main()
{
int a = 2, b = 3;
int c;
int wrongplus(int a, int b);
c = wrongplus(a, b);
printf("%d + %d = %d\n",a, b, c);
}
int wrongplus(int a, int b){
a = a + 1;
b = b + 1; ??
return a + b;
}
2 + 3 = 7
.函數(shù)定義可以分為兩個部分:函數(shù)說明部分和函數(shù)體
說明部分 包括返回值, 函數(shù)名,和參數(shù)列表。
函數(shù)體是函數(shù)具體的實現(xiàn)。
返回值類型,如void,float,int,char等等。如果未寫,則默認(rèn)為int型。
調(diào)用的函數(shù)名
括號內(nèi)寫上所傳遞的數(shù)據(jù)類型和用來接收數(shù)據(jù)的變量。如(float num1,int num2)且數(shù)據(jù)類型及數(shù)量與調(diào)用函數(shù)時一致
舉例子:int sq(int a,int b);
函數(shù)類型、函數(shù)名、形式參數(shù)表組成。C語言函數(shù)是一門面向過程、抽象化的通用程序設(shè)計語言,應(yīng)用于底層開發(fā)。C語言函數(shù)首部定義形式是函數(shù)類型、函數(shù)名、形式參數(shù)表組成。C語言函數(shù)是一門面向過程的計算機(jī)編程語言,與C++、Java等面向?qū)ο缶幊陶Z言有所不同。
在程序中出現(xiàn)函數(shù)名時,要注意區(qū)分以下三種情況:
1. main函數(shù)中的int?max(int?x,int?y);?是函數(shù)的聲明,一般格式為?返回值?函數(shù)名(參數(shù)類型?參數(shù));
2. max(a,b)為函數(shù)的調(diào)用,一般格式為?函數(shù)名(參數(shù));
3. 后面的max(int?x,int?y){?...}是函數(shù)的定義,一般格式為?返回值?函數(shù)名(參數(shù)類型?參數(shù)){函數(shù)體}
c語言規(guī)定,在一個函數(shù)定義之前調(diào)用它,需要提前進(jìn)行聲明。
原因是,如果沒有聲明函數(shù),當(dāng)程序運行到max(a,b)時,由于后面的函數(shù)定義還沒有被讀到,所以計算機(jī)并不知道m(xù)ax是個什么東西,程序就會出錯。
如果將函數(shù)定義提到main函數(shù)的前面,就無需進(jìn)行聲明了,程序也不會報錯。
函數(shù)首部包括函數(shù)的類型名、函數(shù)名和形參列表。
下面以一個具體函數(shù)來說明什么是函數(shù)首部。
int?fun(int?a,?int?b)?//?函數(shù)首部
//?{?}中的內(nèi)容就是函數(shù)體
{
return?ab???a?:?b;??//?函數(shù)返回值
}