c语言,我这里哪里写错了,最大值没问题,最小值一直输出不对,而且运行完后,就崩溃了

2025-05-10 17:24:37
推荐回答(2个)
回答1:

同一个错误,数组下标从0开始,不超过数组大小,比如数组大小为10,下标只能取到0~9这九个数字

#include 
#define N 10
void Max(int score[], int *pMaxScore);
void Min(int score[], int *pMinScore);
int main()
{
int score[N], maxscore, minscore;
int i;
printf("请输入数组:");
for (i = 0; i < 10; i++)////////////
{
scanf("%d", &score[i]);
}
Max(score, &maxscore);
Min(score, &minscore);
printf("这数组中的最大值为%d,最小值为%d\n", maxscore, minscore);
return 0;
}

void Max(int score[], int *pMaxScore)
{
int i;
*pMaxScore = score[0];
for (i = 0; i < 10; i++)//////////////
{
if (score[i]>*pMaxScore)
{
*pMaxScore = score[i];
}
}
}

void Min(int score[], int *pMinScore)
{
int i;
*pMinScore = score[0];
for (i = 0; i < 10; i++)////////////////
{
if (score[i]<*pMinScore)
{
*pMinScore = score[i];
}
}
}

回答2:

每个for都有问题,都改成for(i=0;i