我不知道该怎么做当我尝试编译它时会出现错误"错误:无法忽略void值,因为它应该是"我已经包括库conio,stdlib和& stdio.h
void com(float n,float r)
{
float n1=1 ,n2;
float r1=1 , r2;
float d1=1, d2;
float d , a;
for(n2=1;n2<=n;n2++)
n1=n2*n1;
for(r2=1;r2<=r;r2++)
r1=r2*r1;
d=n-r;
for(d2=1;d2<=d;d++)
d1=d2*d1;
a=(n1/(r1*d1));
printf("%f",a);
}
int main()
{
float b,c,e;
printf("\t nCr finder\n");
printf("enter n and r\n");
scanf("%f\n",&b);
scanf("%f\n",&c);
e = com(b,c);
printf("%f",e);
getch();
return 0;
}
答案 0 :(得分:2)
e=com(b,c);
但你宣布你的职能为:
void com(float n,float r)
由于您的函数不返回任何内容,因此无法分配其结果。
答案 1 :(得分:1)
com()
不返回任何内容,&#34; 即。 void
&#34;并且您将其返回值分配给变量,可能是您要从a
返回com()
并将其声明为
float com(float n, float r);
像这样
float com(float n,float r)
{
float n1 = 1,n2;
float r1 = 1, r2;
float d1 = 1, d2;
float d, a;
for (n2 = 1 ; n2 <= n ; n2++)
n1 = n2 * n1;
for (r2 = 1 ; r2 <= r ; r2++)
r1 = r2 * r1;
d = n - r;
for (d2 = 1 ; d2 <= d ; d++)
d1 = d2 * d1;
a = (n1 / (r1 * d1));
return a;
}
int main()
{
float b, c, e;
printf("\t nCr finder\n");
printf("enter n and r\n");
scanf("%f\n", &b);
scanf("%f\n", &c);
e = com(b,c);
printf("%f", e);
getch();
return 0;
}