重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
C语言没有标准的max和min函数。
成都网站建设、成都网站制作介绍好的网站是理念、设计和技术的结合。创新互联拥有的网站设计理念、多方位的设计风格、经验丰富的设计团队。提供PC端+手机端网站建设,用营销思维进行网站设计、采用先进技术开源代码、注重用户体验与SEO基础,将技术与创意整合到网站之中,以契合客户的方式做到创意性的视觉化效果。
常规情况下,几乎所有的编译器使用宏来实现 max() 及 min() 函数,
它们一般在 stdio.h 这份文件中以宏方式被声明。
使用宏来实现的原因一般是因为这两个函数非常简单,
它们一般的实现如下:
#define max(a,b) ( ((a)(b)) ? (a):(b) )
#define min(a,b) ( ((a)(b)) ? (b):(a) )
使用宏的另外一个好处是使得该函数具备了“重载”功能,
可以让传递的参数不局限于某种类型(只限基本类型-非结构类型),如 int 或 char。
1、max函数不是一个C语言里提供给的函数,而是程序员自己定义的。一般来说,max函数是用来求一组数据中的最大值。
2、例如:
int max(int a,int b)
{
if (ab)
return a;
else
return b;
}
// 或者用更简单的:
int max(int a,int b)
{
return ab?a:b;
}
//或者使用宏定义:
#define MAX(a,b) (ab)?(a):(b)
main()
{
int x,y,z,max;
printf("input two numbers:\n");
scanf("%d%d",x,y);
z=MAX(x,y);
printf("maxnum=%d",z);
getch();
}
max()不是一个c语言里提供给你的函数,而是程序员自己定义的。
是你看的那个程序源代码上,写程序的人自己定义了一个名为max的函数。它和main()函数不一样,main()才是c语言函数库里已经定义好的,main()已经被赋予了意义,那就是每个c程序的主函数。而这个max()只是写那个源代码的人自己定义的。
就像你编写程序时可以随意定义变量,比如定义int
a;就是定义了一个名字为a的整形变量而已,你也可以定义为int
b;就是改变了他的名字。意义没有改变。这个max(),你完全可以改名为num(),sum()等等函数,随意改变它的名字。
int
max(int
a,int
y)的意思是:
第一个int是用来定义max()这个函数为整形函数,max就是这个函数的名字。括号里面的int
a,int
y是max函数所带的参数,参数的意思就是,举个例子,比如你数学里面的一个函数f,它的表达式为:y=3x,这个表达式是我随便写的哈,那他的函数名就为f,参数就是y和x。当然数学和程序里的函数本质是完全不同的。int
a,int
y就是定义参数a为整形,参数y也为整形。
楼主,明白了吗?
C语言C99新特性里面有现成的求解最大值函数,fmax, 包含的库为math.h, 具体的函数声明为:
double fmax(double x, double y);
如果用int类型也没有问题,我刚刚试了一下。