- ベストアンサー
関数の値の渡し方
main関数内でkaikiという関数を呼び出し、 そのときmainの中にある配列atai[10]の値をkaikiに渡して, kaiki内で計算した結果のkotae1,kotae2という二つの変数をmainに返したいのですが、 どのように書いたらいいのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ポインタを活用する課題ですね。 たとえば、 main() { int k1,k2,atai[10]; ・ kaiki( &k1, &k2, atai, 10 ); ・ } kaiki( int *kotae1, int *kotae2, int a[], int n ){ int i; /* 計算 */ for( i = 0 ; i < n ; i++ ) { kotae1 += a[i]; } kotae2 = kotae1 / n; }
その他の回答 (2)
- charmer29-2
- ベストアンサー率25% (41/159)
あー、2chで寸分違わぬ質問を見かけたのでレスつけときました。 あちらをご覧ください。
#include <stdio.h> void kaiki(double *kotae1, double *kotae2, int *a, int n); int main(void) { int atai[10], i; double k1, k2; for (i = 0; i < 10; i++) atai[i] = i + 1; kaiki(&k1, &k2, atai, 10); printf("合計:%f\n", k1); printf("平均:%f\n", k2); return 0; } void kaiki(double *kotae1, double *kotae2, int *a, int n) { int i; for (*kotae1 = i = 0; i < n; i++) *kotae1 += a[i]; *kotae2 = *kotae1 / n; }