函数调用的参数太多,预期的单个参数“combinedValues'”有2个参数

时间:2014-05-16 05:53:01

标签: c function return

很抱歉使用不正确的行话等等,我刚刚开始学习本周如何编程。无论如何,在我使用的书中有一个挑战:

  

三角形的内角必须加起来180度。创建一个名为Triangle的新C命令行工具。在main.c中,编写一个取前两个角度并返回第三个角度的函数。这就是你打电话时的样子:

#include <stdio.h>

// Add your new function here

int main(int argc, const char * argv[])
{
float angleA = 30.0;
float angleB = 60.0;
float angleC = remainingAngle(angleA, angleB);
printf("The third angle is %.2f\n", angleC);
return 0;
}

到目前为止,我有这个:

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

// Declare a global variable?
float totalNumbers;

float remainingAngle(float combinedValues) // One argument here
{
totalNumbers = combinedValues;
float remainingAngle = combinedValues * 30.0 + 60.0;
return remainingAngle;
}

// Add new function here

int main(int argc, const char * argv[])
{
float angleA = 30.0;
float angleB = 60.0;
float angleC = remainingAngle(angleA, angleB); // Two arguments here
//Above line is giving me the error, see explanation below
printf("The third angle is %.2f\n", angleC);
return 0;
}

我收到错误(在线开始浮动角度C = remainingAngle ...它在我的代码中从底部开始是第4个)

  

函数调用的参数太多,预期的单个参数&#39; combinedValues&#39;有2个参数

那么,你们能告诉我如何修复我的代码吗?我是一个完全的初学者,只要求你至少告诉我如何修改问题/等,以便在我违反任何不成文规则的情况下获得帮助。谢谢。

1 个答案:

答案 0 :(得分:2)

观察函数的调用方式

float angleC = remainingAngle(angleA, angleB);

它需要两个参数(输入),对它们执行某些操作并返回一个分配回angleC的输出。所以你需要相应地编码

float remainingAngle(float angleA, float angleB) //accepts two `float` arguments and returns `float` value
{
    float angleC;

    //sum of all angles is 180. So third angle is 180 - (sum of other two)
    angleC = 180 - (angleA+angleB);
    return angleC;
}