C獲取函式中多個值的方法

2021-08-31 01:37:44 字數 1459 閱讀 1020

c: 關於函式返回值的小思考

1.函式的返回值只能有乙個,但如果希望獲得函式中的多個值,可以採用指標的方式。

2.注意向函式傳遞列指標的形式:

void inputarray(int *p, int m, int n)

}}

附上求二維陣列最大值及其位置的**:

#include #define n 10

void inputarray(int *p, int m, int n);

int findmax(int *p, int m, int n, int *prow, int *pcol);

int main() ;

int m, n;

int row, col;

printf("input m, n:\n");

scanf("%d, %d", &m, &n);

inputarray(a, m, n);

printf("the max number is :%d, row: %d, col: %d\n ", findmax(a, m, n, &row, &col), row + 1, col + 1);

return 0;

}void inputarray(int *p, int m, int n)

}}int findmax(int *p, int m, int n, int *prow, int *pcol)}}

return k;

}

也可將findmax改為void型,相應的改變如下:

#include #define n 10

void inputarray(int *p, int m, int n);

void findmax(int *p, int m, int n, int *prow, int *pcol);

int main() ;

int m, n;

int row, col;

printf("input m, n:\n");

scanf("%d, %d", &m, &n);

inputarray(a, m, n);

findmax(a, m, n, &row, &col);//因為函式沒有返回值,所以findmax不能寫在printf中了

printf("the max number is :%d, row: %d, col: %d\n ", a[row][col], row + 1, col + 1);//由於是指標形式傳遞,所以row和col的值可以獲取

return 0;

}void inputarray(int *p, int m, int n)

}}void findmax(int *p, int m, int n, int *prow, int *pcol)}}

// return k;

}

從函式中返回多個值的方法

原文 第一種方法是利用全域性變數,因此根本不用返回,只要直接給全域性變數賦值即可。例 dim intnumber 1 intnumber 1 40 dim intnumber 2 intnumber 2 80 public sub passvalues intnumber 1 intnumber 1...

c語言 函式返回多個值

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

C 呼叫返回多個值的Python函式

某些時候,用python模組來實現一些特定的功能會比用其他型別的模組更加簡潔方便。在c 程式中,呼叫python模組時需要載入一些必要的libs,這些libs在網上都可以找到。下面的 演示了c 程式如何呼叫python中的函式,並得到從python函式中返回的多個值。python filename ...