一、答案
#define ABS(x) ( (x)>0?(x):-(x) )
使用上述命令就可以使用宏定义绝对值。
二、关于宏定义语法说明
1、定义宏的语法
#define 标识符 常量 //注意, 最后没有分号
2、语法说明
#define 的功能是将标识符定义为其后的常量。一经定义,程序中就可以直接用标识符来表示这个常量。宏定义看似和变量定义一样,但是完全不是一个概念。
要区分开!变量名表示的是一个变量,但宏名表示的是一个常量。可以给变量赋值,但绝不能给常量赋值。
宏所表示的常量可以是数字、字符、字符串、表达式。其中最常用的是数字。
三、关于ABS函数定义说明
1、语法定义
int abs(int x)
其中x表示要求绝对值的数。
2、语法解释
求整数的绝对值。需要引用头文件math.h 或者 stdlib.h
3、特别注意
x必须是正整数或者正负数。不可以是浮点数类型。
一、C语言宏的定义
采用命令 #define 来定义宏。该命令允许把一个名称指定成任何所需的文本。
例如一个常量值或者一条语句。在定义了宏之后,无论宏名称出现在源代码的何处,预处理器都会把它用定义时指定的文本替换掉。
二、没有参数的宏
1、语法
#define 宏名称 替换文本
其中“替换文本”前面和后面的空格符不属于替换文本中的内容。替代文本本身也可以为空。
2、实例
#define TITLE "*** Examples of Macros Without Parameters ***"
#define BUFFER_SIZE (4 * 512)
#define RANDOM (-1.0 + 2.0*(double)rand() / RAND_MAX)
三、带参数的宏
1、定义
定义具有形式参数(简称“形参”)的宏。当预处理器展开这类宏时,它先使用调用宏时指定的实际参数(简称“实参”)取代替换文本中对应的形参。带有形参的宏通常也称为类函数宏(function-like macro)。
2、语法
#define 宏名称( [形参列表] ) 替换文本
#define 宏名称( [形参列表 ,] ... ) 替换文本