对我来说,我的程序看起来应该做我想做的事情:提示用户为数组输入 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;
}