too few actual parameters 求解答!!!
#include<stdio.h>voidmain(){intmax(intx,inty,intz);inta,b,c;printf("输入是那个数值比较:");scan...
#include<stdio.h>
void main()
{
int max(int x,int y,int z);
int a,b,c;
printf("输入是那个数值比较:");
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);
printf("最大的是%d", max(max(a,b),c));
}
int max(int a,int b,int c)
{
if(a>b)
{
if(b>c)
return(a);
}
else if(b>c)
return(b);
else
return(c);
} 展开
void main()
{
int max(int x,int y,int z);
int a,b,c;
printf("输入是那个数值比较:");
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);
printf("最大的是%d", max(max(a,b),c));
}
int max(int a,int b,int c)
{
if(a>b)
{
if(b>c)
return(a);
}
else if(b>c)
return(b);
else
return(c);
} 展开
1个回答
推荐于2017-09-28
展开全部
#include<stdio.h>
void main()
{
int max(int x,int y,int z);
int a,b,c;
printf("输入是那个数值比较:");
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);
printf("最大的是%d", max(a,b,c));
}
int max(int a,int b,int c)
{
if(a>b)
{
if(b>c)
return(a);
}
else if(b>c)
return(b);
else
return(c);
}
第11行错,你传参给max的时候,只给两个参数,调用了两次。但实际上你定义max的时候,需要三个参数,一次找三个参数的最大值。所以,编译时,提示你给的实参太少(too few actual parameters )
追问
你执行一次,最后的数值写最大的,出来的结果是错误的....
追答
亲,你逻辑上还有纰漏,没有覆盖所有的可能性分支。
#include<stdio.h>
void main()
{
int max(int x,int y,int z);
int a,b,c;
printf("输入是那个数值比较:");
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);
printf("最大的是%d", max(a,b,c));
}
int max(int a,int b,int c)
{
if(a>b)
{
if(b>c)
return(a);
else
if(c>a)
return c;
else
return a;
}
else if(b>c)
return(b);
else
return(c);
}
这样就ok了。如果三个数字最大值的计算为难你了,你可以些两个的版本,比如:
#include<stdio.h>
void main()
{
int max(int x,int y);
int a,b,c;
printf("输入是那个数值比较:");
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);
printf("最大的是%d", max(max(a,b),c));
}
int max(int a, int b)
{
return a>b?a:b;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询