C語言中什麼叫呼叫函式?為什麼函式和函式之間是呼叫關係

2022-03-27 20:50:01 字數 5277 閱讀 9528

1樓:

函式呼叫是指:簡單來講,假如小明是班長,小紅是本班的生活委員,小明要想收班費,但每個人都有不同的職責,而班長是用來組織和統籌工作的,而作為生活委員的小紅的職責之一就是收取和管理班費,所以這樣的話,小明只需讓小紅去做就行,也就是說只需發出指令給小紅就可以了,而小紅就是執行這項活動的承擔者;在這裡小紅就相當於被呼叫函式,小明是呼叫函式。

函式呼叫總共有三種方式:

1.函式表示式:

1函式作為表示式中的一項出現在表示式中,以函式返回值參與表示式的運算。這種方式要求函式是有返回值的。例如:z=max(x,y)是一個賦值表示式,把max的返回值賦予變數z。

2.函式語句:

函式呼叫的一般形式加上分號即構成函式語句。例如:

printf

("%d",a);scanf

("%d",&b);都是以函式語句的方式呼叫函式。

3.函式實參:

函式作為另一個函式呼叫的實際引數出現。這種情況是把該函式的返回值作為實參進行傳送,因此要求該函式必須是有返回值的。例如:

printf("%d",max(x,y));

即是把max呼叫的返回值又作為printf函式的實參來使用的。在函式呼叫中還應該注意的一個問題是求值順序的問題。所謂求值順序是指對實參表中各量是自左至右使用呢,還是自右至左使用。

對此,各系統的規定不一定相同。

注意的是:1.假如在你的那句呼叫語句開始,例如:

#include

intmax(int

x,int

y)void

main(){

inta,b;

scanf("%d%d",&a,&b)

;printf("%d",max(a,b));

printf("程式結束\n");

}在這個函式中,我們是在main()函式中用函式實參進行呼叫的,這樣的話。main()函式是一個程式的入口,

在執行printf("%d",max(a,b));

這條語句的max(a,b)時候,開始轉到max(int,int)函式中執行,執行完後在回到printf("%d",max(a,b));

進行輸出a,b中的最大值,然後再接著執行main()函式的剩下語句

printf("程式結束\n");推出程式。但我們呼叫的時候,main()函式(即呼叫函式)需要給被呼叫函式提供必要的具體資料,即x,y的值。所以表示式max(a,b)即把a的值賦給x,b的值賦值給y;如此執行下去。

即若輸入34

程式結果為:

4程式結束

2.還是上面的那個例子,若int

max(int

x,int

y)在main()函式的下面,要呼叫的話,就需要在main()函式之前進行宣告,宣告格式為:

函式返回值型別

函式名(形參型別1

形參名1,形參型別2

形參名2......);其中分號不可少,形參名可以省去,但是形參型別和返回值型別均不可省!!!如下所示:

#include

intmax(int

x,int

y);//函式宣告1

或者int

max(int

,int

);//函式宣告2

void

main(){

或者int

max(int

x,int

y);//函式宣告3

或者int

max(int

,int

);//函式宣告4

inta,b;

scanf("%d%d",&a,&b)

;printf("%d",max(a,b));

printf("程式結束\n");

}int

max(int

x,int

y)函式宣告的作用是讓呼叫函式認識被呼叫函式,這樣才可以想被呼叫函式傳送指令!

至於為什麼用呼叫這個名字,個人覺得這個是因為很貼切吧,便於理解!!!

你明白了嗎?不明白可以追問哦!希望採納哦!

2樓:行梅花銳珍

呼叫函式就是計算機編譯或執行時,使用某個函式來完成相關命令。對無參函式呼叫時則無實際參數列。實際參數列中的引數可以是常數、變數或其它構造型別資料及表示式。各實參之間用逗號分隔。

在程式中通過對函式的呼叫來執行函式體,其過程與其它語言的子程式呼叫相似。

c語言中,函式呼叫的一般形式為:

函式名(實際參數列)

對無參函式呼叫時則無實際參數列。實際參數列中的引數可以是常數、變數或其它構造型別資料及表示式。各實參之間用逗號分隔。

3樓:伍秀花禮霜

你是想問return啊。那我的例子來說:

我通過引數x把4從呼叫函式傳進了被調函式fun,而return又將x*x=4*4=16作為fun(4)的值傳回了呼叫函式main,所以,才能列印出16.

----------------------比如吧:

intfun(int

x)void

main()

這個小程式裡面,呼叫函式認為是main,被調函式認為是fun,實際上還有printf。

4樓:篤元修渾鶯

函式:把一系列執行某個功能的語句組合在一起就是函式,如加法intadd(int

a,int

b)那麼在另一函式中需要使用加法做運算的時候,就稱作呼叫add函式,如計算函式

void

calculate(int

a,intb)}

//函式自己足夠聰明?函式不會知道要去呼叫某個方法的,當然是程式設計師設定的,否則要程式設計師何用?

c語言中「呼叫」函式是什麼意思,為什麼函式和函式之間是呼叫關係?

5樓:育知同創教育

呼叫函式就是計算機編譯或執行時,使用某個函式來完成相關命令。對無參函式呼叫時則無實際參數列。實際參數列中的引數可以是常數、變數或其它構造型別資料及表示式。各實參之間用逗號分隔。

在程式中通過對函式的呼叫來執行函式體,其過程與其它語言的子程式呼叫相似。

c語言中,函式呼叫的一般形式為:

函式名(實際參數列)

對無參函式呼叫時則無實際參數列。實際參數列中的引數可以是常數、變數或其它構造型別資料及表示式。各實參之間用逗號分隔。

c語言中什麼叫呼叫函式?為什麼函式和函式之間是呼叫關係?

6樓:千鋒教育

呼叫函式就是計算機編譯或執行時,使用某個函式來完成相關命令。對無參函式呼叫時則無實際參數列。實際參數列中的引數可以是常數、變數或其它構造型別資料及表示式。各實參之間用逗號分隔。

在程式中通過對函式的呼叫來執行函式體,其過程與其它語言的子程式呼叫相似。

c語言中,函式呼叫的一般形式為:

函式名(實際參數列)

對無參函式呼叫時則無實際參數列。實際參數列中的引數可以是常數、變數或其它構造型別資料及表示式。各實參之間用逗號分隔。

7樓:

函式呼叫是指:簡單來講,假如小明是班長,小紅是本班的生活委員,小明要想收班費,但每個人都有不同的職責,而班長是用來組織和統籌工作的,而作為生活委員的小紅的職責之一就是收取和管理班費,所以這樣的話,小明只需讓小紅去做就行,也就是說只需發出指令給小紅就可以了,而小紅就是執行這項活動的承擔者;在這裡小紅就相當於被呼叫函式,小明是呼叫函式。

函式呼叫總共有三種方式:

1. 函式表示式:

1函式作為表示式中的一項出現在表示式中,以函式返回值參與表示式的運算。這種方式要求函式是有返回值的。例如:z=max(x,y)是一個賦值表示式,把max的返回值賦予變數z。

2. 函式語句:

函式呼叫的一般形式加上分號即構成函式語句。例如都是以函式語句的方式呼叫函式。

3. 函式實參:

函式作為另一個函式呼叫的實際引數出現。這種情況是把該函式的返回值作為實參進行傳送,因此要求該函式必須是有返回值的。例如:

printf("%d",max(x,y)); 即是把max呼叫的返回值又作為printf函式的實參來使用的。在函式呼叫中還應該注意的一個問題是求值順序的問題。所謂求值順序是指對實參表中各量是自左至右使用呢,還是自右至左使用。

對此,各系統的規定不一定相同。

注意的是:1.假如在你的那句呼叫語句開始,例如:

#include

int max(int x,int y)

void main(){

int a,b;

scanf("%d%d",&a,&b) ;

printf("%d",max(a,b));

printf("程式結束\n");

}在這個函式中,我們是在main()函式中用函式實參進行呼叫的,這樣的話。main()函式是一個程式的入口, 在執行 printf("%d",max(a,b)); 這條語句的max(a,b)時候,開始轉到max(int,int)函式中執行,執行完後在回到printf("%d",max(a,b)); 進行輸出a,b中的最大值,然後再接著執行main()函式的剩下語句 printf("程式結束\n");推出程式。但我們呼叫的時候,main()函式(即呼叫函式)需要給被呼叫函式提供必要的具體資料,即x,y的值。

所以表示式max(a,b)即把a的值賦給x,b的值賦值給y;如此執行下去。

即若輸入 3 4

程式結果為: 4 程式結束

2.還是上面的那個例子,若int max(int x,int y)在main()函式的下面,要呼叫的話,就需要在main()函式之前進行宣告,宣告格式為: 函式返回值型別 函式名 (形參型別1 形參名1,形參型別2 形參名2......

);其中分號不可少,形參名可以省去,但是形參型別和返回值型別均不可省!!!如下所示:

#include

int max(int x,int y); //函式宣告1

或者int max(int ,int ); //函式宣告2

void main(){

或者 int max(int x,int y); //函式宣告3

或者int max(int ,int ); //函式宣告4

int a,b;

scanf("%d%d",&a,&b) ;

printf("%d",max(a,b));

printf("程式結束\n");

}int max(int x,int y)

函式宣告的作用是讓呼叫函式認識被呼叫函式,這樣才可以想被呼叫函式傳送指令!

至於為什麼用呼叫這個名字,個人覺得這個是因為很貼切吧,便於理解!!!

你明白了嗎?不明白可以追問哦!希望採納哦!

用c語言中呼叫函式怎麼編寫mnmn求大神指教

include int myfac n int n return s int main 輸入m,n輸出c m,n include include int jc int m int c int m,int n int main void p m n m n 當m n時,怎麼用c語言程式設計,謝謝 1 ...

c語言中什麼是原型定義,C語言中函式的定義格式是什麼,函式原型宣告的語法格式?

我還直是不知道呢,我說說自己的理解吧,一個函式,可能在別外被引用或是在本檔案中但是要先引用了而後面才有函式定義,此時編譯器需要先行知道這個函式返回型別和引數類形,才可以正確的幫著做嚴格的資料型別和引數個數的檢查 如不提前申明就會當做是返回int 型,引數都當int型且不能檢查引數個數 這個函式在定義...

c語言中0102為什麼等於,c語言中0102為什麼等於

寫錯了吧。是 012 吧。0開頭的 012 是 八進位制整型 12,等於 十進位制 10printf d n 012 輸出 10若用 格式 o 則輸出 12 printf d n 010 2 010是八進位制數 十進位制8 8 2 10 以 d形式輸出 嘛?010是八進位制的10,換算成十進位制是8...