c語言 函式返回多個值

2021-10-03 04:18:34 字數 963 閱讀 7612

慢慢更新哦!

分析:全域性變數作為c語言的乙個知識點,雖然我們都了解它的特點,但在實際教學過程中應用得並不是很多。由於全域性變數的作用域是從定義變數開始直到程式結束,而對於編寫有多個返回值的c語言函式,我們可以考慮把要返回的多個值定義成全域性變數。當函式被呼叫時,全域性變數被更改,我們再把更改後的全域性變數值應用於主調函式中。函式被呼叫後被更改後的全域性變數值即為函式的數個返回值。下面以乙個例項演示該方法的應用。

例一:編寫函式求3個數中的最大值與最小值。

方法:把最大值、最小值分別定義成2個全域性變數max、min,在使用者自定義函式中把求出來的最大值與最小值分別賦給全域性變數max、min。函式呼叫完畢後全域性變數的max、min值即儲存了函式要求返回的值。程式參考**如下:

#include

#include

int max,min;

//主角——全域性變數

void

max_min

(int a,

int b,

int c)

//定義求最大最小的函式

最後如果能列印的話,是可以答應出經過函式max_min

()處理的值的

二、傳遞陣列指標

分析:在教學過程中,我們知道c語言函式引數的傳遞方式有值傳遞與位址傳遞。當進行值傳遞時,主調函式把實參的值複製給形參,形參獲得從主調函式傳遞過來的值執行函式。在值傳遞過程中被調函式引數值的更改不能導致實參值的更改。而如果是位址傳遞,由於傳遞過程中從實參傳遞過來的是位址,所以被調函式中形參值的更改會直接導致實參值的更改。因此,

我們可以考慮把多個返回值作為陣列元素定義成乙個陣列的形式,並使該陣列的位址作為函式的形式引數,以傳址方式傳遞陣列引數

。函式被呼叫後,形引數組元素改變導致實參改變,我們再從改變後的實參陣列元素中獲得函式的多個返回值。以下例項演示該方法的應用。

例項

Go語言示例 函式返回多個值

go語言中函式可以返回多個值,這和其它程式語言有很大的不同。對於有其它語言程式設計經驗的人來說,最大的障礙不是學習這個特性,而是很難想到去使用這個特性。簡單如交換兩個數值的例子 package main import fmt func swap a int,b int int,int func ma...

python函式返回多個值

python函式返回多個值的方法 python可以返回多個值,確實挺方便 函式裡的return只能返回乙個值,但是返回型別是沒是限制的 因此,我們可以 返回乙個 tuple型別,來間接達到返回多個值 在robot framework source code 時的例子 def init self,ce...

讓函式返回多個值

讓函式返回多個值 include using namespace std int func int a,int b,int c int main int func int a,int b,int c 輸出 a 1b 2c 3a 1b 4c 27 我們知道函式只能返回乙個值,那麼假如有的時候我們需要函...