C語言中一個(gè)完整的函數(shù)由函數(shù)首部和函數(shù)體構(gòu)成,而且定義函數(shù)時(shí)兩者都是必不可少的。
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),永德企業(yè)網(wǎng)站建設(shè),永德品牌網(wǎng)站建設(shè),網(wǎng)站定制,永德網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,永德網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
函數(shù)定義的一般形式如下:
類型標(biāo)識符 函數(shù)名(形參表列) // 這是函數(shù)首部
// 以下{ }內(nèi)的是函數(shù)體
{
說明部分
執(zhí)行部分
}
舉例說明如下:
// 定義一個(gè)不帶返回值的函數(shù)
// 函數(shù)功能:輸出形參的值
void fun(int a, int b)
{
printf("%d, %d\n", a, b);
}
// 定義一個(gè)帶返回值的函數(shù)
// 函數(shù)功能:返回2個(gè)整數(shù)數(shù)的最大值
int fun(int a, int b)
{
return ab ? a : b;
}
#include?stdio.h
#include?math.h
//判斷整數(shù)是否為素?cái)?shù)
int?isPrime(int?n)
{
int?i;
for(i=2;i=(int)sqrt(n);i++)?//遍歷從2~n的平方根向下取整
if(n%i?==?0)??//如果有i能被n整除,則n不是素?cái)?shù),返回0,否則返回1
return?0;
return?1;
}
//編寫測試主函數(shù)
int?main()
{
int?n;
scanf("%d",n);
if(n2)
{
printf("輸入錯誤!\n");
return?-1;
}
if(isPrime(n))??//調(diào)用素?cái)?shù)判斷函數(shù)
printf("%d?is?a?prime?number\n",n);
else
printf("%d?is?not?a?prime?number\n",n);
return?0;
}
函數(shù)是用戶與程序的接口,在定義一個(gè)函數(shù)前,首先要清楚以下三個(gè)問題。1) 函數(shù)的功能實(shí)現(xiàn)及算法選擇。算法選擇會在后續(xù)文章詳細(xì)講解,本節(jié)重點(diǎn)關(guān)注函數(shù)的功能實(shí)現(xiàn)。一般選取能體現(xiàn)函數(shù)功能的函數(shù)名,且見名知意,如求和函數(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ī)范起見,教程中對沒有參數(shù)的函數(shù),參數(shù)表中統(tǒng)一寫 void。例如: 類型 函數(shù)名 () {函數(shù)體 }等價(jià)于: 類型 函數(shù)名 (void) //建議的書寫方式 {函數(shù)體 } 如果該函數(shù)沒有返回類型,則為 void 類型。例如: void add (int x,int y) {printf ("sum=%d\n", x+y); } 除了 void 類型外,在函數(shù)體中,均需要顯式使用 return 語句返回對應(yīng)的表達(dá)式的值。 函教返回值 函數(shù)的值是指調(diào)用函數(shù)結(jié)束時(shí),執(zhí)行函數(shù)體所得并返回給主調(diào)函數(shù)的值。 關(guān)于函數(shù)返回值說明如下。1) 帶返回值的函數(shù),其值一般使用 return 語句返回給調(diào)用者。其格式為: return 表達(dá)式;或者 return (表達(dá)式);例如: int add (int a, int b) {return (a + b); //return 后為表達(dá)式 } 函數(shù)可以含一個(gè)或多個(gè) return 語句,但每次調(diào)用時(shí)只能執(zhí)行其中一個(gè) return 語句。例如,求整數(shù)絕對值的函數(shù): int f (int n) //含多個(gè)return語句,但每次調(diào)用只執(zhí)行一個(gè) {if (n = 0)return n;elsereturn -n; }