gpt4 book ai didi

有人可以帮我使用函数找到数组的最小值吗?我的代码不起作用

转载 作者:行者123 更新时间:2023-11-30 20:48:42 25 4
gpt4 key购买 nike

如何使用函数找到数组的最小值?这是我写的代码,但每当我运行它时,它都会显示

min=2

代码

#include<stdio.h>

int v[1000];

void read(int n)
{
int i;
for(i=0;i<n;i++)
{
printf("\nGive element v[%d]:",i);
scanf("%d",&v[i]);
}
return;
}

int minimum(int n,int v[])
{
int i,min;
min=v[0];
for(i=1;i<n;i++)
{
if(v[i]<min)
{
min=v[i];
}
}
return min;
}

main()
{
int n,i,min;
printf("Give n:");
scanf("%d",&n);
read(n);
minimum(v);
printf("min=%d",min);
}

最佳答案

局部变量minmain()与局部变量 min 不同在minimum() .

minmain()未初始化,因此行为未定义 (UB)。事实上,它始终返回 2(目前)纯粹是偶然。

那么,你为什么要创建 minimum()返回int - 但实际上并没有对该返回值做任何事情?

出于长久以来的厌倦原因,我不会建议使用全局变量。相反,在 main() ,只需设置其本地min = minimum(n, v) 。现在你得到了什么?

编辑之子:添加其他人所说的关于您没有向 minimum() 传递足够参数的内容.

关于有人可以帮我使用函数找到数组的最小值吗?我的代码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33217961/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com