作业帮 > 综合 > 作业

我是个C语言初学者,输入两个数并找出其中最大的一个,要求要有主调函数和被调函数

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 17:08:00
我是个C语言初学者,输入两个数并找出其中最大的一个,要求要有主调函数和被调函数
请问像这样写为什么不对啊?
main()
{
int a,b,max;
printf("Enter a and b ...");
scanf("%d%d\n",&a,&b);
int maxf();
maxf(&a,&b);
printf("max=%d",max);
}
int (int *x,int *y)
{
int *z;
if(*x>*y)
*z=*x;
else
*z=*y
}
第一个,你的函数声明不对,函数声明应该包含它的参数列表,所以把
int maxf();改成int maxf(int,int);
而函数的实现也有问题,要返回最大值,不需要使用指针,即使是使用指针,在函数实现里面,int *z是声明一个指针,但是它指向哪个变量并没有确定,向它指向的地址赋值是不正确的,所以可以将maxf函数的定义改成
int maxf(int *x,int *y)
{
int z;
if(*x>*y)
z=*x;
else
z=*y;
return z;
}
函数调用的地方,将返回值赋给max变量,所以就是max=maxf(&a,&b);