c语言主函数调用子函数问题

#include<stdio.h>
main()
{
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d",c);

}
int max(int x,int y)
{
int z;
if (x>y) z=x;
else x=y;
return (z);
}

这是C语言程序设计上的例子,为什么不能通过编译
在加入
int max(int x,int y);
编译通过后,
为什么 输出的结果不对呢?
我要输出的结果是为两个数之间的大的那个数,
为什么输出结果会是:max=-858993460
急!!

max 函数在 main 之后定义,使用时要在 main 中声明,否则调用时找不到函数的位置,或是把 max 函数放在 main 的前面.

#include<stdio.h>
main()
{
int a,b,c;
/*下面一行为所加内容*/
int max(int x,int y);
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d",c);

}
int max(int x,int y)
{
int z;
if (x>y) z=x;
else x=y;
return (z);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-03-10
MAIN 前面还得加个 函数声明 int max(int x,int y);
像你把函数写后面的,前面就得声明,,也可自己写个头文件把所有要声明的 写在里面 然后只要用INCLUDE包含一下就行了
第2个回答  2019-08-05
修改函数名称为
void
cut(*ch)
主程序调用时直接把数组名传递给子函数,子函数的变量*ch就直接指向了主程序的数组l[100],实际子函数操作的就是主程序的数组。
相似回答