C语言没有max这个函数,需要自己定义并编写max函数。
例如源代码可以是:
#include
int max (int a, int b) {
if (a>b)
return a;
else
return b;
}
int main()
{
int a,b,c;
scanf ("%d %d",&a,&b);
c = max (a,b);
printf ("%d",c);
return 0;
}
运行结果
输入 2 3
输出 3
max()不是一个C语言里提供给你的函数,而是程序员自己定义的。
是你看的那个程序源代码上,写程序的人自己定义了一个名为max的函数。它和main()函数不一样,main()才是C语言函数库里已经定义好的,main()已经被赋予了意义,那就是每个C程序的主函数。而这个max()只是写那个源代码的人自己定义的。
比方说,可以定义一个宏来完成这个计算:
#include
#define max(a,b) ((a)>(b)?(a):(b))
int main()
{int a,b,c;
scanf("%d %d",&a,&b);
c=max(a,b);
printf("%d",c);
return 0;
}
有个math库 math库里有max这个函数 #define max(a,b)(a>b?a:b),是C语言版的内联函数
。第三行是一个三目运算符,可以这样理解:
if ( a > b )
return a;
else
return b;
这是C++版的内联函数,不同的是多了个类型检查,所以函数的数据类型不一定是float,可以是int,double......inline float max ( float a, float b )// (a>b?a:b)。上面的与下面语句是等效的:
if ( a > b )
return a;
else
return b。
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言最初的标准。
因为max函数未定义。你必须自己实现max函数,才能使用它。
可以写个函数,也可以用宏。比如在include下一句写上:
#define max(x,y) ( x>y?x:y )
这句表示:当x>y时,max(x,y)的值为x,反之,则为y。
结构类型定义和结构变量说明 在实际问题中,一组数据往往具有不同的数据类型。例如, 在学生登记表中,姓名应为字符型;学号可为整型或字符型; 年龄应为整型;性别应为字符型;成绩可为整型或实型。 显然不能用一个数组来存放这一组数据。 因为数组中各元素的类型和长度都必须一致,以便于编译系统处理。为了解决这个问题,C语言中给出了另一种构造数据类型——“结构”。 它相当于其它高级语言中的记录。 “结构”是一种构造类型,它是由若干“成员”组成的。 每一个成员可以是一个基本数据类型或者又是一个构造类型。 结构既是一种“构造”而成的数据类型, 那么在说明和使用之前必须先定义它,也就是构造它。如同在说明和调用函数之前要先定义函数一样。一、结构的定义定义一个结构的一般形式为: struct 结构名 { 成员表列 };成员表由若干个成员组成, 每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明,其形式为:类型说明符 成员名; 成员名的命名应符合标识符的书写规定。例如: struct stu{int num;char name[20];char sex;float score;};