私にとって、私のプログラムは、私がやりたいことをするべきであるように見えます: ユーザーに配列に 10 個の値を入力するように促し、関数を使用して配列内のそれらの値の最大値を見つけ、最大数をメインに返します。 () 関数を実行して出力します。
しかし、値を入力すると、入力した数値と同じように見える数値が返されません。
たとえば、「10, 11」とだけ入力すると、「1606416648 = 最大値」が返されます。
私が間違っていることを誰かが知っていますか?
コードは次のとおりです。
#include <stdio.h>
#define LIMIT 10
int largest(int pointer[]);
int main(void)
{
int str[LIMIT];
int max;
int i = 0;
printf("Please enter 10 integer values:\n");
while (i < LIMIT)
{
scanf("%d", &str[i]);
i++;
}
// Thanks for your help, I've been able to make the program work with the above edit!
max = largest(str);
printf("%d = largest value\n", max);
return 0;
}
int largest(int pointer[])
{
int i;
int max = pointer[0];
for (i = 1; i < LIMIT; i++)
{
if (max < pointer[i])
max = pointer[i];
}
return max;
}