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

如题,下面的代码报错说参数过多,该如何解决?#include<stdio.h>voidcal(floatn);intmain(void){floatnumber1,num... 如题,下面的代码报错说参数过多,该如何解决?
#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);

}
展开
 我来答
piestkj
2015-07-17 · TA获得超过928个赞
知道小有建树答主
回答量:820
采纳率:0%
帮助的人:615万
展开全部
#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。传递几个参数就声明几个参数。
百度网友ae58d71
2015-07-17 · TA获得超过350个赞
知道小有建树答主
回答量:371
采纳率:100%
帮助的人:260万
展开全部
void cal(float n);这是你的函数定义,所以在调用的时候,cal(number1,number2); 这样是错的,因为有两个形参了,cal(number1);就不会出错了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式