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 ...