回复 14楼 FangMengHao
程序1里的max是一个函数,并且是你自己定义的,并不是库函数;
程序2里的max仅仅是一个整型变量,不是函数;
再和你说说函数,比如说scanf、printf就是函数,不过是标准的库函数,不需要用户自己定义;
函数是具备某种功能,scanf输入,printf输出,而你程序1中的max函数的功能就是“求两个数的最大值并返回给main函数”;
对于自己定义的函数,如果函数的定义在main函数(即主函数)之后,则需要先声明函数;如果在main函数之前则可以直接定义,不需声明
下面根据你的程序说明一下;
#include<stdio.h>
int main()
{
int max(int x,int y);
//这里是对max函数的声明,当然,这条语句也可以放在main之前
int a,b,c,d,e;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b);
//这里是对main函数的调用,用来求a和b的最大值,并返回给d
e=max(d,e);
//同上
printf("max = %d\n",e);
return 0;
}
int max(int x,int y)
//这里是对main函数的定义
{
int z;
if(x>y)z=x;
else z=y;
return(z);
}
程序2
#include<stdio.h>
int main()
{
int a,b,c,max;
//这里 int max;仅仅是定义一个整型变量max
printf("please input a,b,c:\n");
scanf("%d,%d,%d",&a,&b,&c);
max=a;
if(max<b)
//if语句的基本格式,多看看书
max=b;
if(max<c)
max=c;
printf("The largest number is %d\n",max);
return 0;
}