昨天,cjdaily问了我一个自定义函数的问题
让我连想到下边三个程序,同时是关于自定义函数的区别
程序1:
#include<stdio.h>
int max(int x,int y); //注意分号!
int main()
{
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d",c);
getch();
return 0;
}
int max(int x,int y)
{
int z;
z=x>y?x:y;
return z;
}
程序2:
#include<stdio.h>
int max(int x,int y) //没有分号!
{
int z;
z=x>y?x:y;
return z;
}
int main()
{
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d",c);
getch();
return 0;
}
程序3:
#include<stdio.h>
int main()
{
int a,b,c;
int max(int x,int y);
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d",c);
getch();
return 0;
}
int max(int x,int y)
{
int z;
z=x>y?x:y;
return z;
}
这三个程序都能通过gcc编译(最标准的C\C++编译器,别的编译器我少用,所以不好说)
而且它们的结果都是一样的
我在这里想请教各位这样一个问题:
这三个程序除了在写法上的微小差别以外,还有什么区别?!(也就是这三种写法有什么区别)
[此贴子已经被作者于2007-4-10 9:27:50编辑过]