跟調(diào)用庫函數(shù)一樣,只不過這個自定義函數(shù)得你自己寫,
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、博愛網(wǎng)絡(luò)推廣、重慶小程序開發(fā)、博愛網(wǎng)絡(luò)營銷、博愛企業(yè)策劃、博愛品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供博愛建站搭建服務(wù),24小時服務(wù)熱線:13518219792,官方網(wǎng)址:muchs.cn
如果自定義函數(shù)在main()函數(shù)之后定義的話,,就得在main()前先聲明,main()中調(diào)用,main()后定義,如下簡易代碼:
#includestdio.h
void print(); //用戶自定義函數(shù)聲明
void main()
{
print(); //用戶自定義函數(shù)調(diào)用
}
void print() //用戶自定義函數(shù)定義
{
printf("函數(shù)已經(jīng)被調(diào)用\n");
}
如果自定義函數(shù)在main()之前已定義,則只需要進(jìn)行main()前定義,和main()中調(diào)用了,簡單代碼如下:
#includestdio.h
void print() //用戶自定義函數(shù)定義
{
printf("函數(shù)已經(jīng)被調(diào)用\n");
}
void main()
{
print(); //用戶自定義函數(shù)調(diào)用
}
可以調(diào)用。
C語言最基本的模塊為函數(shù),任意函數(shù)都可以調(diào)用其它任意一個函數(shù),包括函數(shù)本身。
1、自定義函數(shù)調(diào)用其它自定義函數(shù)的例子:
#include stdio.h
void fun1(int a)//自定義函數(shù)fun1。
{
printf("%d\n",a);
}
void fun2(int m, int n)//自定義函數(shù)fun2。
{
fun1(m);
fun1(n);//調(diào)用兩次另一個自定義函數(shù)。
}
int main()
{
fun2(2,3);//調(diào)用fun2.
}
在這個例子中,就是主函數(shù)調(diào)用自定義函數(shù)fun2,然后fun2調(diào)用另一個自定義函數(shù)fun1.
2、不僅可以調(diào)用其它自定義函數(shù),還可以調(diào)用自己本身。
這種稱為遞歸。
以下是通過遞歸,計算1+2+3+...+n值的代碼:
#include stdio.h
int fun(int n)
{
if(n == 1) return 1;
return n+fun(n-1);//遞歸調(diào)用,返回和值。
}
int main()
{
printf("%d\n", fun(100));//計算1到100的和值。
return 0;
}
在使用一個函數(shù)之前必須先對他進(jìn)行聲明:
//void B();聲明B函數(shù)的存在。void A(){B();//非法,程序執(zhí)行到此時并不知道B函數(shù)的存在。}void B(){}
或者
#include stdio.h
#include stdlib.h
#include math.h
int fa(int n)
{
int a;
for(a=2;a=sqrt(n*1.0),n%a!=0;a++);
if(asqrt(n*1.0))
return(1);
else
return(0);
}
void main( )
{
int n,q;
scanf("%d",n);
擴(kuò)展資料
#include stdio.h
#include stdlib.h
#include math.h
int fa(int n)
{
int a;
for(a=2;a=sqrt(n*1.0),n%a!=0;a++);
if(asqrt(n*1.0))
return(1);
else
return(0);
}
void main( )
{
int n,q;
scanf("%d",n);
if(fa(n)==1)
printf("n");
else
printf("y");
system("pause");
exit(0);
}
參考資料:百度百科 - C語言函數(shù)
一,函數(shù)調(diào)用的一般形式為:
函數(shù)名(實參列表);
實參可以是常數(shù)、變量、表達(dá)式等,多個實參用逗號,分隔。
在c語言中,函數(shù)調(diào)用的方式有多種,例如:
在函數(shù)調(diào)用中還應(yīng)該注意的一個問題是求值順序的問題。所謂求值順序是指對實參列表中各個參數(shù)是自左向右使用呢,還是自右向左使用。對此,各系統(tǒng)的規(guī)定不一定相同。
【示例】在vc6.0下運行以下代碼。
運行結(jié)果:
8
7
6
7
可見vc
6.0是按照從右至左的順序求值。如果按照從左至右求值,結(jié)果應(yīng)為:
9
10
9
8
函數(shù)的嵌套調(diào)用
函數(shù)不能嵌套定義,但可以嵌套調(diào)用,也就是在一個函數(shù)的定義中出現(xiàn)對另一個函數(shù)的調(diào)用。這樣就出現(xiàn)了函數(shù)的嵌套調(diào)用,即在被調(diào)函數(shù)中又調(diào)用其它函數(shù)。
【示例】計算sum
=
1!
+
2!
+
3!
+
...
+
(n-1)!
+
n!
分析:可以編寫兩個函數(shù),一個用來計算階乘,一個用來計算累加的和。
#include
//求階乘
long
factorial(int
n){
int
i;
long
result=1;
for(i=1;
i=n;
i++){
result
*=
n;
}
return
result;
}
//
求累加的和
long
sum(long
n){
int
i;
long
result
=
0;
for(i=1;
i=n;
i++){
//嵌套調(diào)用
result
+=
factorial(n);
}
return
result;
}
int
main(){
printf("1!+2!+...+9!+10!
=
%ld\n",
sum(10));
return
0;
}
二,有些自定義函數(shù)可能會被頻繁的調(diào)用,所以寫在一個c文件里是不太方便的。應(yīng)該把這些自定義的函數(shù)寫在一個c文件里,同時在一個頭文件.h文件里聲明。主函數(shù)可以通過引用該頭文件然后調(diào)用需要的自定義函數(shù)。
1,舉例:在頭文件(.h)里聲明自定義函數(shù)
2,在一個c語言文件里寫下自定義函數(shù)的實現(xiàn)
3,在主函數(shù)中調(diào)用自定義函數(shù)
4,最后編譯所有的涉及到的c文件,頭文件可以不管
網(wǎng)頁標(biāo)題:c語言的自定義函數(shù)調(diào)用 c語言自定義函數(shù)調(diào)用自定義函數(shù)
標(biāo)題URL:http://muchs.cn/article16/dohedgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、網(wǎng)站導(dǎo)航、網(wǎng)頁設(shè)計公司、網(wǎng)站改版、品牌網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)