c語言中函式呼叫與返回值的關係是什麼

時間 2021-08-30 10:37:16

1樓:匿名使用者

函式呼叫和返回值的關係其實和賦值運算的道理是一樣的只是,函式將計算機過程封裝,實現複雜的計算過程和提供良好的**重用。

int sum(int arg1,int arg2); //函式原型int x;

x=sum(1,3); //呼叫函式,其中這裡的1,3我們稱為形式引數,它告訴函式要怎麼做。而函式是負責要做什麼

2樓:匿名使用者

還是拿樓上的那個例子

int add(int a,int b)

函式呼叫就是在別的函式中呼叫add這個函式,在函式中填入相對應的量,如在main函式中以add(3,4);呼叫

返回值:如果函式(如add)前有函式型別(int),這就是返回值型別,其實就是c,簡單點說,如果函式裡有return後便那個值就是返回值,如果沒有return語句,他就返回空,也就可以說沒有返回值

3樓:手機使用者

所謂函式返回值是乙個函式在運算結束以後向呼叫它的母函式或者系統反饋乙個值,這個值可以是各種變數型別.

舉個簡單的例子:

int add(int a,int b)

int main()

在主函式main中呼叫子函式add,並傳遞引數3和4過去,add經過運算後得到值7,通過return語句將得到的值返回給呼叫它的main函式供其使用,而在main中,返回值被用於給res賦值。

函式返回值就可以理解為解決乙個問題以後得到的結論,把這個結論交給別人,就像寫在書上成為乙個定理,來讓別人使用。

4樓:visr_午夜

函式呼叫的概念:

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

例如:宣告乙個函式 int hanshu(int n);

那麼在主函式中,如果有hanshu(5)出現,那麼就稱這裡的hanshu(5)是函式呼叫

返回值的概念:

乙個函式的函式名既是該函式的代表,也是乙個變數。由於函式名變數通常用來把函式的處理結果資料帶回給呼叫函式,即遞迴呼叫,所以一般把函式名變數稱為返回值。

例如:上面的函式hanshu()需要向主函式返回乙個int值,在hanshu()中就存在乙個return x來返回上述的int值。

給出乙個簡單**實現

#include

int hanshu(int n,int m);

int main()

int hanshu(int n,int m)

c語言中函式呼叫與返回值的關係是什麼?

5樓:手機使用者

所謂函式返回值是乙個函式在運算結束以後向呼叫它的母函式或者系統反饋乙個回值答,這個值可以是各種變數型別.

舉個簡單的例子:

int add(int a,int b)

int main()

在主函式main中呼叫子函式add,並傳遞引數3和4過去,add經過運算後得到值7,通過return語句將得到的值返回給呼叫它的main函式供其使用,而在main中,返回值被用於給res賦值。

函式返回值就可以理解為解決乙個問題以後得到的結論,把這個結論交給別人,就像寫在書上成為乙個定理,來讓別人使用。

c語言中的 函式的返回值 和 函式值 之間是什麼關係?

6樓:

一般情況,函式的返回值 就是 函式值。例如 sqrt(16.0).

但 c語言 有時 返回 指標,而指標也許指向 單一值,也許指向 陣列,結構等,那就不是 函式值。

7樓:感冒的原子

「乙個函式的函式名既是該函式的代表,也是乙個變數。由於函式名變數通常用來把函式的處理結果資料帶回給呼叫函式,所以一般把函式名變數稱為返回值。」

我用自己的話說說看...

函式的返回值

是指函式在執行完以後這個函式所帶回的值,但是這個函式不一定就會有函式值,就是說這個函式不得出結果

函式值就是函式在執行完以後所得出的結果,但是這個函式不一定會有返回值.

我覺得我只能這麼解釋了,這東西按字面上的意思理解應該不是很難.

還不明白lz就發訊息給我吧...

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

8樓:千鋒教育

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

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

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

函式名(實際參數列)

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

9樓:

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

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

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)

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

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

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

10樓:匿名使用者

函式:把一系列執行某個功能的語句組合在一起就是函式,如加法int add(int a, int b)那麼在另一函式中需要使用加法做運算的時候,就稱作呼叫add函式,如計算函式

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

11樓:不會起暱稱

每個程式都是由函式組成的,乙個或多個,但是函式之間是並列關係,並不是主從關係,乙個函式呼叫另乙個函式,呼叫是用被調函式產生想要的結果,然後供主調函式使用。

12樓:手機使用者

……就是使用的意思,因為在彙編裡是用call這個詞語

c語言中的返回值和無返回值是什麼意思?

13樓:哈哈呵呵你好

你好,c語言是基於函式的程式設計,他的**必須放到函式中。你這個說有無返回值,其實說的是函式有沒有返回值。

無返回值的函式,只進行某種操作。

有返回值的函式,可以將某個變數或指標返回其呼叫函式。

兩者形式上的區別如下:

無返回值:void fun1();

有返回值:int fun2();

呼叫的區別:

無返回值:

main()

有返回值:

main()

14樓:匿名使用者

返回值就是函式值。就是函式呼叫結束後,一般會返回乙個值。這個值的型別看你是怎樣定義的。

例如:int f(int); 這個函式是乙個有返回函式,返回值為整型。

char f(int);這個函式是乙個有返回函式,返回值為字元型如果是f(int);這個函式預設返回值型別為整型如果不需要函式有返回值,則需要用void 關鍵字,如:void f(int);這是個無返回函式,不需要return關鍵字。如果要用 則用 return ; return 後面什麼也沒有

希望能幫助到你

在c語言中主函式是不是必須要有返回值

main 函式的返回值型別必須是 int 這樣返回值才能傳遞給程式的啟用者 如作業系統 如果 main 函式的最後沒有寫 return 語句的話,c99 規定編譯器要自動在生成的目標檔案中 如 exe 檔案 加入return 0 表示程式正常退出。在c語言標準中強制要求main函式的返回值型別為in...

c語言中,返回值是什麼意思

敖子鹿妍晨 在乙個函式定義中,函式體之前的所有部分稱為函式頭,它給出了該函式的返回型別 每個引數的次序和型別等函式原型資訊,所以當沒有專門給出函式原型說明語句時,系統就從函式頭中獲取函式原型資訊。乙個函式的原型語句就是其函式頭的乙個拷貝,當然要在最後加上語句接上結束符分號。函式原型語句與函式頭也有細...

返回值和函式值的問題,C 函式返回值問題

函式值跟返回值本來就是一回事。乙個函式只能返回乙個值,這個值是通過renturn 語句返回給main 函式的。函式前面的int就是定義的返回值型別。也就是這個被調函式工作完了,要給main函式乙個值,這個值的型別是int,如果你的int換成是float,char 以及其他任意資料型別,那麼retur...