白牡丹秀色可餐 发表于 2019-10-7 00:19:55

c/错误不知道怎么改

#include<stdio.h>

int kate(int i,int k,int h)
{
        k=1;
        for(h=1;h<=i;h++)
                k=k*h;
        return k;
}
double fact(double s,int n,int i,double k)
{
        s=0.00;
        for(i=1;i<=n;i++)
                k=kate(i),s+=k;
        return s;

}
void main()
{
        double s;
        int n;
        printf("输入值:");
        scanf("%d",&n);
        s=fact(n);
        printf("%d\n",s);

        return;
}

因为题目要求返回值为double型所以写的有冗长,错误显示:error C2198: 'kate' : too few actual parameters
                                                                                    error C2198: 'fact' : too few actual Parameters




请问应该怎么改?为什么?

superbe 发表于 2019-10-7 01:01:05

提示错误是 调用的参数个数比函数定义的参数少。修改如下:

#include<stdio.h>

int kate(int i)
{
        int h,k=1;
        for(h=1;h<=i;h++)
                k=k*h;
        return k;
}
double fact(int n)
{
        int i,k;
        double s=0;
        for(i=1;i<=n;i++){
                k=kate(i);
                s+=k;
        }
        return s;

}
void main()
{
        double s;
        int n;
        printf("输入值:");
        scanf("%d",&n);
        s=fact(n);
        printf("%lf\n",s);

        return;
}
页: [1]
查看完整版本: c/错误不知道怎么改