int contrast(int x,int y,int z);
int main()
{
int a,b,c;
printf("请输入三个整数:");
scanf("%d %d %d", &a,&b,&c);
int contrast(a,b,c);
return 0;
}
int contrast(int x,int y,int z)
{
int max;
x=max;
if(x>y)
{
if(x>z)
{
printf("max is a\n");
}else{
printf("max is z\n");
}
}
else
{
if(y>z){
printf("max is y\n");
}else{
printf("max is z\n");
}
}
return 0;
}
因为在main函数调用contrast函数的方法错了,应该去掉前面那个int,加上int代表的是函数声明,它和函数调用不同;然后根据代码比较大小的逻辑,把contrast函数里的x赋值为max去掉, 修改如下:
#include <stdio.h>
int contrast(int x,int y,int z);
int main()
{
int a,b,c;
printf("请输入三个整数:");
scanf("%d %d %d", &a,&b,&c);
contrast(a,b,c);
return 0;
}
int contrast(int x,int y,int z)
{
int max;
//x=max;
if(x>y)
{
if(x>z)
{
printf("max is a\n");
}else{
printf("max is z\n");
}
}
else
{
if(y>z){
printf("max is y\n");
}else{
printf("max is z\n");
}
}
return 0;
}
参考:可行的话 还望采纳:
代码如下:
#include <stdio.h>
int contrast(int x, int y, int z);
int main()
{
int a, b, c;
printf("请输入三个整数:");
scanf("%d %d %d", &a, &b, &c);
contrast(a, b, c);
return 0;
}
int contrast(int x, int y, int z)
{
int max = x;
if (y > max)
max = y;
if (z > max)
max = z;
printf("最大值是:%d\n", max);
return 0;
}
因为你把函数声明了2遍,而没有调用
int main()
{
int a,b,c;
printf("请输入三个整数:");
scanf("%d %d %d", &a,&b,&c);
contrast(a,b,c);
return 0;
}
函数的调用不需要加类型声明:
int main()
{
int a, b, c;
printf("请输入三个整数:");
scanf("%d %d %d", &a, &b, &c);
// int contrast(a, b, c);
contrast(a, b, c);
return 0;
}