c - 返回错误值的方法

标签 c methods return-value

我正在学习 C 和 C# 编程。此 C 代码未按预期计算。该方法返回值:-504476904 到控制台?这可能是什么问题?

代码如下:

#include <stdio.h>
#include <stdlib.h>

int minimum(values)
int values[10];
{
  int minimum_value, i;

  minimum_value = values[0];

  for (i = 1; i < 10; i++)
  {
      if(values[i] < minimum_value)
      {
          minimum_value = values[i];
      }
  }

  return (minimum_value);
}

int main()
{
   int sumthing[10];
   int i;
   for (i = 1; i < 10; i++)
   {
       sumthing[i] = (i * 34);
   }

   printf("Minimum value of for loop is: %d\n", minimum(sumthing));

   return 0;
}

我将我的代码更改为:

#include <stdio.h>
#include <stdlib.h>

int minimum(values)
int values[10];
{
    int minimum_value, i;

    minimum_value = values[0];

    for (i = 1; i < 10; i++)
    {
       if(values[i] < minimum_value)
       {
           minimum_value = values[i];
       }
    }

    return (minimum_value);

int main()
{
   int sumthing[10];
   int i;
   for (i = 0; i < 10; i++)
   {
       sumthing[i] = ((i + 1 )* 34);
   }

   printf("Minimum value of for loop is: %d\n", minimum(sumthing));

   return 0;

最佳答案

sumthing[0] 未在您的代码中初始化,因为您从索引 1 开始循环;这是在 main 函数中纠正程序的第一步:

for (i = 0; i < 10; i++)
{
   sumthing[i] = (i * 34);
}

顺便说一句,您使用的是 K&R 风格。这被认为已过时。

您的代码的更现代的实现,并进行了上述更正;它似乎在工作:

#include <stdio.h>

int minimum(int values[])
{
  int minimum_value, i;

  minimum_value = values[0];

  for (i = 1; i < 10; i++)
  {
      if(values[i] < minimum_value)
      {
          minimum_value = values[i];
      }
  }

  return (minimum_value);
}

int main()
{
   int sumthing[10];
   int i;
   for (i = 0; i < 10; i++)
   {
       sumthing[i] = (i * 34);
   }

   printf("Minimum value of for loop is: %d\n", minimum(sumthing));

   return 0;
}

关于c - 返回错误值的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19758683/

相关文章:

c++ - 类内的内联函数成员

java - java编程中方法的声明

c - 需要帮助了解\n、\b 和\r 将如何呈现 printf 输出

c++ - C/C++ 应用程序的新手设计注意事项

java - 努力将我的主程序方法化(一种专门使用 LinkedList 作为输入和输出的方法)。我哪里出错了?

mysql - 为什么只有 if 语句有效?我的代码(count() 语句)中有任何错误吗?

python - python 获取函数的返回值并将其更改为 int

jasper-reports - 如何将变量值从子报表传递到主报表并根据 iReport Designer Jasper Reports 中的该值显示/隐藏详细信息带?

android - 修剪 mp3 文件?

c++ - 如何指定远程预处理器包含路径,如 192.0.2.17 ://usr/include