C语言中主函数怎么向声明的函数传递多个参数?

如题,下面的代码报错说参数过多,该如何解决?
#include<stdio.h>
void cal(float n);
int main(void)
{
float number1,number2;
scanf("%f %f",&number1,&number2);
while((scanf("%f %f",&number1,&number2))==2)
{
cal(number1,number2); //报错说这一行声明参数过多,不知道该如何解决?
printf("over!");
scanf("%f %f",&number1,&number2);
printf("Please enter another two floats\n");
}
printf("IUPUT ERROR!\n");
return 0;
}
void cal(float n)
{ double number3,number4,results;
results=(number3-number4)/(number3*number4);
printf("%f",results);

}

#include<stdio.h>
void cal(float a, float b); /*根据你的意思看,改成这样*/
int main(void)
{
    float number1,number2;
    scanf("%f %f",&number1,&number2);
    while((scanf("%f %f",&number1,&number2))==2)
    {
        cal(number1,number2);                         //报错说这一行声明参数过多,不知道该如何解决?
        printf("over!");
        scanf("%f %f",&number1,&number2);
        printf("Please enter another two floats\n");
    }
    printf("IUPUT ERROR!\n");
    return 0;
}
void cal(float a, float b)/*根据你的意思看,改成这样*/
{   double results;
    results=(a-b)/(a*b);
    printf("%f",results);

}

追问

谢谢,也就是主函数向自定义函数传递多个参数需要在自定义函数原型中声明?

追答

yes。传递几个参数就声明几个参数。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-17
void cal(float n);这是你的函数定义,所以在调用的时候,cal(number1,number2); 这样是错的,因为有两个形参了,cal(number1);就不会出错了。
相似回答