ID非公開さん
2022/1/26 18:11
3回答
初期化した配列の要素の最大値を関数を使って出すプログラムを作りたいです。 以下のように考えたのですが、最大値が0になってしまいます。どのように直せばよいのか教えてください。
初期化した配列の要素の最大値を関数を使って出すプログラムを作りたいです。 以下のように考えたのですが、最大値が0になってしまいます。どのように直せばよいのか教えてください。 #include <stdio.h> int max9( int v[], int n) { int i; int max; for (i = 0; i < 9; i++){ if ( v[i] > max) max = v[i]; } return max; } int main(void) { int i; int max; int v[9] = { 16, 8, 21, 99, -100, 72, 50, 1, 34}; for ( i = 0; i < 9; i++){ printf("v[%d] = %d\n", i, v[i]); } max = max9(v, 9); printf("最大値は%dです。", max); return 0; }
ベストアンサー
(ID非公開) max9関数の変数maxを初期化していないからです。 int max9( int v[], int n) { int i; int max; max=v[0]; for (i = 0; i < 9; i++){ ← i は1か初めてもよい
1人がナイス!しています
質問者からのお礼コメント
ありがとうございます。動きました!
お礼日時:1/26 18:45