自定義函數(shù)是由用戶按需要寫的函數(shù)。這與庫(kù)函數(shù)相對(duì)應(yīng)的,庫(kù)函數(shù)是由c系統(tǒng)提供的函數(shù),已經(jīng)定義好了如printf
鎮(zhèn)寧網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)自2013年起到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
、
scanf
、
getchar
、putchar、gets、puts、strcat等函數(shù)均屬此類。
說(shuō)白了,自定義函數(shù)是是自己寫的,想實(shí)現(xiàn)什么功能就寫什么,然后在用的時(shí)候和庫(kù)函數(shù)(系統(tǒng)定義的)的一樣調(diào)用就是了,相當(dāng)于自己增加了一個(gè)自己的庫(kù)函數(shù)。
#define _CRT_SECURE_NO_WARNINGS
#include stdio.h
//聲明一個(gè)求和的函數(shù)
int sum(int a, int b);
int main(int argc, char* argv[])
{
int x = 5, y = 7;
int s = sum(x, y); //調(diào)用函數(shù)
printf("x + y = %d \n", s);
system("pause");
return 0;
}
//定義求和函數(shù)
int sum(int a, int b)
{
return a + b;
}
更多C語(yǔ)言教程
要在主函數(shù)中調(diào)用其他函數(shù)就在主函數(shù)中直接寫出你的函數(shù)名(如果需要參數(shù)的話就傳入?yún)?shù)就可以了)看下面voidmain(){tr();//因?yàn)槟阕远x這個(gè)函數(shù)不需要參數(shù)所以直接調(diào)用就可以了}其他函數(shù)調(diào)用也一樣,一個(gè)函數(shù)可以調(diào)用另一個(gè)函數(shù)(不能調(diào)用主函數(shù))
1.函數(shù)中的return語(yǔ)句是用來(lái)獲得函數(shù)的返回值的,通過(guò)它將被調(diào)函數(shù)的中一個(gè)確定值帶回主函數(shù),供主函數(shù)使用。
2.定義函數(shù)的類型是一般應(yīng)該與return語(yǔ)句的返回值的類型一致。如果不同,則以函數(shù)類型為準(zhǔn)。
看看這個(gè)題(編寫函數(shù)求Fibonacci級(jí)數(shù))
#include "stdio.h"
int fib(int n)
{
int z;
if(n=0) printf("有誤");
else
if(n==1||n==2) z=1;
else
z=fib(n-1)+fib(n-2);
return(z);
}
void main(){
int n,i;
for(n=1,i=0;n=100;n++){
{printf("%10d ",fib(n));
i++;}
if(i%5==0) printf("\n");}
}
函數(shù)是用戶與程序的接口,在定義一個(gè)函數(shù)前,首先要清楚以下三個(gè)問(wèn)題。1) 函數(shù)的功能實(shí)現(xiàn)及算法選擇。算法選擇會(huì)在后續(xù)文章詳細(xì)講解,本節(jié)重點(diǎn)關(guān)注函數(shù)的功能實(shí)現(xiàn)。一般選取能體現(xiàn)函數(shù)功能的函數(shù)名,且見(jiàn)名知意,如求和函數(shù)的函數(shù)名可取為 add,求最大值的函數(shù)名可取為 max,排序函數(shù)可取名為 sort 等。2) 需要用戶傳給該函數(shù)哪些參數(shù)、什么類型,即函數(shù)參數(shù)。3) 函數(shù)執(zhí)行完后返回給調(diào)用者的參數(shù)及類型,即函數(shù)返回值類型。 函教定義格式 函數(shù)定義的一般格式為: 返回類型 函數(shù)名 (類型參數(shù)1,類型參數(shù)2,…) {函數(shù)體 }也可以不含參數(shù),不含參數(shù)時(shí),參數(shù)表中可寫關(guān)鍵字 void 或省略,為規(guī)范起見(jiàn),教程中對(duì)沒(méi)有參數(shù)的函數(shù),參數(shù)表中統(tǒng)一寫 void。例如: 類型 函數(shù)名 () {函數(shù)體 }等價(jià)于: 類型 函數(shù)名 (void) //建議的書寫方式 {函數(shù)體 } 如果該函數(shù)沒(méi)有返回類型,則為 void 類型。例如: void add (int x,int y) {printf ("sum=%d\n", x+y); } 除了 void 類型外,在函數(shù)體中,均需要顯式使用 return 語(yǔ)句返回對(duì)應(yīng)的表達(dá)式的值。 函教返回值 函數(shù)的值是指調(diào)用函數(shù)結(jié)束時(shí),執(zhí)行函數(shù)體所得并返回給主調(diào)函數(shù)的值。 關(guān)于函數(shù)返回值說(shuō)明如下。1) 帶返回值的函數(shù),其值一般使用 return 語(yǔ)句返回給調(diào)用者。其格式為: return 表達(dá)式;或者 return (表達(dá)式);例如: int add (int a, int b) {return (a + b); //return 后為表達(dá)式 } 函數(shù)可以含一個(gè)或多個(gè) return 語(yǔ)句,但每次調(diào)用時(shí)只能執(zhí)行其中一個(gè) return 語(yǔ)句。例如,求整數(shù)絕對(duì)值的函數(shù): int f (int n) //含多個(gè)return語(yǔ)句,但每次調(diào)用只執(zhí)行一個(gè) {if (n = 0)return n;elsereturn -n; }