C語言中,每個(gè)函數(shù)都有返回值類型??梢允莢oid,int,double,等,也可以是struct類型。
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供昭化網(wǎng)站建設(shè)、昭化做網(wǎng)站、昭化網(wǎng)站設(shè)計(jì)、昭化網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、昭化企業(yè)網(wǎng)站模板建站服務(wù),十載昭化做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
在返回值是void類型的函數(shù)中,return一般在最后一行,后面不加任何值,而且此時(shí)return可以省略。如:
void printResult(int n)
{
printf("%d\n",n);
return;
}
并不是return必須放在最后一行。只要達(dá)到這個(gè)函數(shù)的目的就能夠返回:
如尋找學(xué)號(hào)是200的學(xué)生,如果找到就輸出學(xué)號(hào),找不到就返回的一個(gè)函數(shù):
void findStudentByNumber(int n,int sn[],int m)
{//m是學(xué)生總數(shù),n是查找的學(xué)號(hào),sn是個(gè)數(shù)組,存放多個(gè)學(xué)生學(xué)號(hào);
int i;
for(i=0;i!=m;i++)
if(sn[i]==n)
{
printf("%d",n);
return;//已經(jīng)找到,不需要再找;
}
return;//找遍了,沒找到,此處返回,此處可省略,因?yàn)槭莢oid返回類型;
}
非void返回類型的函數(shù)返回語句不能省略,并且要返回一個(gè)與返回類型相同的值。
如:
int add(int a,int b)
{
return a+b;
}
自定義函數(shù)的方法:VC中,定義函數(shù)分為兩步:
I.聲明:在main函數(shù)開頭定義變量的位置,聲明函數(shù):定義上述函數(shù)聲明是:
int add(int a,int b);
注意分號(hào),聲明前部不能有執(zhí)行語句;
II.把下面的函數(shù)定義部分放在main函數(shù)外部
int add(int a,int b)
{
return a+b;
}
推薦放在main的后花括號(hào)后面,注意此處的int add(int a,int b)后面并沒有分號(hào)。
VC里面,返回類型是int的函數(shù)可以省略聲明部分
#include iostream
using namespace std;
int jiecheng(int n)
{int sum=1;
if(n=0)
return 0;
for(int i=1;i=n;i++)
{
sum*=i;
}
return sum;
}
int main()
{int n,m,Cmn;
cinnm;
Cmn=jiecheng(m)/(jiecheng(n)*jiecheng(m-n));
coutCmn;
return 0;
}
注意輸入時(shí)n 和m之間有空格啊。
C語言中,函數(shù)調(diào)用的一般形式為:
函數(shù)名(實(shí)際參數(shù)表)
對(duì)無參函數(shù)調(diào)用時(shí)則無實(shí)際參數(shù)表。實(shí)際參數(shù)表中的參數(shù)可以是常數(shù)、變量或其它構(gòu)造類型數(shù)據(jù)及表達(dá)式。各實(shí)參之間用逗號(hào)分隔。
#includestdio.h
int?fun(int?x,?int?y);?//?函數(shù)聲明,如果函數(shù)寫在被調(diào)用處之前,可以不用聲明
void?main()
{
int?a=1,?b=2,?c;
c?=?fun(a,?b);?//?函數(shù)的調(diào)用,調(diào)用自定義函數(shù)fun,其中a,b為實(shí)際參數(shù),傳遞給被調(diào)用函數(shù)的輸入值
}
//?自定義函數(shù)fun
int?fun(int?x,?int?y)??//?函數(shù)首部
{??//?{}中的語言為函數(shù)體
return?xy???x?:?y;??//?返回x和y中較大的一個(gè)數(shù)
}
擴(kuò)展資料
C語言中不允許作嵌套的函數(shù)定義。因此各函數(shù)之間是平行的,不存在上一級(jí)函數(shù)和下一級(jí)函數(shù)的問題。但是C語言允許在一個(gè)函數(shù)的定義中出現(xiàn)對(duì)另一個(gè)函數(shù)的調(diào)用。
這樣就出現(xiàn)了函數(shù)的嵌套調(diào)用。即在被調(diào)函數(shù)中又調(diào)用其它函數(shù)。這與其它語言的子程序嵌套的情形是類似的。其關(guān)系可表示如圖。
圖表示了兩層嵌套的情形。其執(zhí)行過程是:執(zhí)行main函數(shù)中調(diào)用a函數(shù)的語句時(shí),即轉(zhuǎn)去執(zhí)行a函數(shù),在a函數(shù)中調(diào)用b 函數(shù)時(shí),又轉(zhuǎn)去執(zhí)行b函數(shù),b函數(shù)執(zhí)行完畢返回a函數(shù)的斷點(diǎn)繼續(xù)執(zhí)行,a函數(shù)執(zhí)行完畢返回main函數(shù)的斷點(diǎn)繼續(xù)執(zhí)行。
參考資料:函數(shù)調(diào)用_百度百科
#includestdio.h
#includestdio.h
long
Cmn(int
m,int
n)
{
long
countM=1,countN=1,countMN=1;
int
i;
for(i=1;i=m;i++)
countM=countM*i;
for(i=1;i=n;i++)
countN=countN*i;
for(i=1;i=(m-n);i++)
countMN=countMN*i;
return
countM/(countN*countMN);
}
void
main()
{
int
m,n;
long
result;
printf("請(qǐng)輸入m:
\n");
scanf("%d",m);
printf("請(qǐng)輸入n:
\n");
scanf("%d",n);
result=Cmn(m,n);
printf("結(jié)果為:
%ld
\n",result);
}
網(wǎng)站標(biāo)題:c語言寫cmn用調(diào)用函數(shù) c語言cmp函數(shù)
轉(zhuǎn)載源于:http://muchs.cn/article10/dosjhdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計(jì)公司、外貿(mào)建站、定制網(wǎng)站、ChatGPT、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容