gpt4 book ai didi

C 最小函数总是返回 2686916

转载 作者:行者123 更新时间:2023-11-30 21:29:21 24 4
gpt4 key购买 nike

我正在做一个简单的函数,它返回用户(数组)给出的数字的最小整数。

但是,它总是在末尾打印 2686916。这是我的代码:

int function()
{
int ar[100];
int i;
int smallest = INT_MAX;
int nums;
int num;
int sum=0;
printf("\nenter array size\n");

scanf("%d",&num);
for(i=0;i<num;i++)
{
scanf("%d",&ar[i]);
sum=sum+ar[i];
}
if (nums <smallest){
smallest=nums;
printf("the smallest %d\n,smallest);
return 0;
}
}

我不确定我做错了什么。

最佳答案

我的 friend ,看来您是 C 语言新手,在您提出此类问题之前,您应该尝试遵循一些 C 教程。您可以尝试类似 this 的内容。 。

如果您提出的问题不清楚,或者您发布的代码无论如何都无法编译,那么很难帮助您。目前我能做的就是:

int function()
{
int ar[100];
int i;
int smallest = INT_MAX;
int nums = 0; //Always Initialize your variables!
int num = 0;
int sum= 0;
printf("\nenter array size\n");

scanf("%d",&num);
for(i=0;i<num;i++)
{
scanf("%d",&ar[i]);
sum=sum+ar[i];
}
if (nums <smallest)
{
smallest=nums;
printf("the smallest %d\n",smallest);
}
return 0; //Don't put this in a place that might not be executed!
}

现在它至少应该可以编译,但据我所知,它仍然没有做任何有用的事情。您将以前没有使用过的变量“nums”与 int 的最大值进行比较,将其设置为从未使用过的“nums”并打印它。

您可能希望在 if 语句中使用“sums”或“ar[i]”,并打印这些值之一。(仍然不能 100% 确定您想要做什么)。

下次的一些提示(在提问之前!):

  • 变量应始终初始化

在代码中,您尝试在获取值之前使用“nums”的值,这可能会导致代码中出现错误或奇怪的结果。

  • 不要将回车符放在可能被跳过的地方,

在您的代码中,“nums”将大于“smallest”(不太可能,例如位),代码将跳过 if 语句并且永远不会到达返回值。

  • 阅读编译器警告

您发布的代码无法编译、读取错误和警告并修复它们。

  • (提示)使用更好的变量名称,使用 nums、num 和 sum 等名称可以很容易地忽略错误。

关于C 最小函数总是返回 2686916,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32428940/

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