c语言有关函数声明的问题

来源:百度知道 编辑:UC知道 时间:2024/05/28 09:22:56
#include<stdio.h>
void main()
{
int a=10,b=20,c;
//int max(int,int);
c=50*max(a,b);
printf("%d\n",c);
}
max(int x,int y)
{;
return(x>y?x:y);
}

听老师说 int型在主函数下面也不用声明,为什么我这样程序出错

#include<stdio.h>
int max(int x,int y);
void main()
{
int a=10,b=20,c;
//int max(int,int);
c=50*max(a,b);
printf("%d\n",c);
getchar();
}
int max(int x,int y)
{
return(x>y?x:y);
}

函数需要先申明再调用。

没有返回值,分号也写错了,而且要把定义部分放在main函数前面,因为你在没声明的时候,main函数怎么会知道你有这样一个函数存在呢?
改成这样即可
#include<stdio.h>
int max(int x,int y)
{
return(x>y?x:y);
}
void main()
{
int a=10,b=20,c;
//int max(int,int);
c=50*max(a,b);
printf("%d\n",c);
}

只要函数的定义没在主函数前,都需要声明