对于循环函数,函数参数太少

时间:2018-09-06 18:26:09

标签: c error-handling

嗨,我对编程有些陌生,我刚刚遇到了一个新错误,即“函数的参数太少”,不知道这意味着什么。我一直在试图弄清楚代码到底有什么问题,但是到目前为止我还没有运气。有什么建议吗?预先感谢!

int sumRange(int lowerNumber, int higherNumber);

int main()
{
   int lowerNumber,
       higherNumber,
       sum;

   scanf("%d%d", lowerNumber, higherNumber);

   printf("\nThe smaller number is %d and the larger number is %d", lowerNumber,higherNumber);
   printf("\nThe sum number of all ranges for both numbers is: %d", sumRange(sum));
}
int sumRange(int lowerNumber, int higherNumber)
{
   int x,
       total;

   for(x = lowerNumber; x <= higherNumber; x++)
   {
      total = total + x;
   }

 return x;
}

3 个答案:

答案 0 :(得分:1)

函数main()缺少开头的{和final}。 另外,在功能sumRange中,您可能需要返回总数,而不是x。

此外,在“ printf(” \ n“行中,这两个数字的所有范围的总和为:%d”,sumRange(sum));“ 您仅使用一个参数调用sumRange。您应该使用两个参数来调用它:sumRange(lowerNumber,higherNumber)

答案 1 :(得分:1)

您必须初始化“总计”。

    int sumRange(int lowerNumber, int higherNumber)
{
   int x,
       total;

   total = 0;
   for(x = lowerNumber; x <= higherNumber; x++)
   {
      total = total + x;
   }

 return total;
}

答案 2 :(得分:0)

  

我刚遇到了这个新错误,即“函数的参数太少”,却不知道这是什么意思

这意味着该函数未提供其定义中存在的所有参数。

函数在这里定义:

int sumRange(int lowerNumber, int higherNumber);

如您所见,定义中有两个参数:int lowerNumber, int higherNumber。但是您在这里使用该功能:

printf("\nThe sum number of all ranges for both numbers is: %d", sumRange(sum));

仅为该函数提供一个参数。由于您正在用scanf读取参数,因此正确的用法是:

printf("\nThe sum number of all ranges for both numbers is: %d", sumRange(lowerNumber, higherNumber));