有參有返函數是C語言中的一種函數類型,即在定義函數時有規定參數,并且有返回值的函數,我們稱之為有參函數。
在梅江等地區,都構建了全面的區域性戰略布局,加強發展的系統性、市場前瞻性、產品創新能力,以專注、極致的服務理念,為客戶提供成都做網站、網站設計 網站設計制作按需網站建設,公司網站建設,企業網站建設,成都品牌網站建設,成都營銷網站建設,外貿網站建設,梅江網站建設費用合理。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int max(int a,int b)
{
int c;
c = (ab)?a:b;
return c;
}
main()
{
int x,y,z;
x=3;
y=5;
z=max(x,y);
printf("%d",z);
getch();
}
其中,定義了參數a,b和 return 后跟的返回值c,這種C語言中的函數就叫做有參有返函數。當然與之相對的還有無參無返函數。
c語言中標準函數指由標準頭文件定義和實現的函數,即“系統自帶的”,用戶函數是由程序員自己定義實現的。
無參函數就是函數沒有定義參數,有參函數就是函數定義了參數。
void A(int a);
void A(int a, int b);
這些是有參函數,也就是傳入參數,你可以在函數體內操作,對應地在主函數調用函數時會傳入實參,如:A(a)。
viod A();
這是無參函數,對應在主函數調用函數時不會傳入參數,如A()。
void
funtion1(void)
{
printf("funtion1是無參函數\n");
}
void
funtion2(int
x)
{
int
y;
y=x;
printf("funtion2是有參函數\n");
printf("參數的値是
%d",y);
}
mani()
{
funtion1();
funtion2(8);
}
這里所謂的有參和無參的參是指函數的參數,也就是上例中的funtion(int
x)括號中的參數x
,該參數的類型是int型。funtion2(int
x)被調用時的形式如funtion2(8),也就是x=8,然后把參數値8傳進函數funtion2,y=8;所以,主函數main()的運行結果是,
funtion1是無參函數
funtion2是有參函數
參數的値是8
無參數函數的函數名后面的括號里是空的,沒有參數列表。有時,也在括號里面形式地寫上void,表示沒有參數。如 int fun1() 、 char fun2或 void fun3()等。這里的int,char或void是函數的類型,表示相應的函數分別返回int型結果,char型結果或不需要返回結果,不要弄混。C語言函數中,參數相當自變量,返回值相當于應變量。一個參數相當于一元函數,兩個就相當于二元函數等等,返回量只能有一個。沒有參數,即0個參數,是一個特例,這是與數學上的不同。比如,要從某個設備上讀一個數回來,讀來的數是返回值,但是可以沒有參數,就是說,從默認設備讀的情況;如果同樣的設備有好幾個,那么從哪一個設備讀,或者要連續多少個數,就可以作為函數的參數了。帶參數的函數,功能更加強大,也靈活。與此相反,有的函數有參數但是沒有返回值,比如,將一個數據從某個設備發送出去,如果你不關心發送能否成功(默認肯定能成功),那么就沒有返回值了。函數的調用是一級調用一級,可以嵌套。甚至可以自己調用自己(遞歸)。定義的C函數都是用來被調用的,所以都是被調函數。但是某些函數又調用了其它函數,所以,就是相對的主調函數了。主調用和被調,就類似于 父與子,子與孫,...,是相對的。main()主函數,是一份程序的入口點。你找不到它的主了,其實,只有編譯器提供的啟動代碼最后調用了它。
在C語言中,函數的無參用關鍵字用void表示,如果一個函數的參數為void,當我們調用此函數并給它傳遞一個參數時,編譯器會給出錯誤的警告,因為你把參數傳遞給了一個不接受參數的函數。 例: int func(void) { ... } int main(void) { func(5) ; /*It will cause an error .*/ ... return 0 ; } 這里注意一點,在C語言中(而不是C++中),如果函數的參數什么也沒有,如int func(),那么此時你調用這個函數的時候放不放參數編譯器都不會給出警告,編譯器會認為它是可有可無的,但這不是一個好方法,如果函數不需要任何參數,那一定要顯式的把void加到參數列表里。 參數是什么呢,比如f(x) = 5x + 3 ;這里的x就是參數(可理解為做為參照的數),是形參,f(5)會得出一個值,f(10)又會得出一個值(顯然這是個雙射函數,呵呵),那么這里的5 , 10都是實參(實際傳遞的參數),實參會替換形參的位置。 如: int func(int a , int b) { return a + b ; } 其中a , b是形參,調用時 func(5,6) ; 那5 , 6就是實參,函數得到實參后會替換原來形參的位置,相當于將5和6相加并返回結果。