预处理命令 是在编译之前,由预处理程序进行处理的一组命 令。 预处理命令均以#开头,命令末尾无分号。 例如: #define PI 3.1415926 #include <stdio,h>
预处理命令 是在编译之前,由预处理程序进行处理的一组命 令。 预处理命令均以#开头,命令末尾无分号。 例如: #define PI 3.1415926 #include <stdio.h>
不带参数的宏定义 格式:#define宏名替换文本 例如: #define PI 3.1415926 功能:系统进行预处理时,将用替换文本替换程 序中的所有宏名(字符串中的宏名除外)
格式:#define 宏名 替换文本 例如: #define PI 3.1415926 功能:系统进行预处理时,将用替换文本替换程 序中的所有宏名(字符串中的宏名除外) 。 不带参数的宏定义
【例】宏定义举例。 #include <stdio.h> #define PI 3.14159 mainO float s,r,v; scanf("%f",&r); S=PI*r*r; v=4.0/3*PI*r*r*r; printf("s=%f,v=%fn",s,v);
【例】宏定义举例。 #include <stdio.h> #define PI 3.14159 main() {float s,r,v; scanf("%f",&r); s=PI*r*r; v=4.0/3*PI*r*r*r; printf("s=%f,v=%f\n",s,v); }
带参数的宏定义 格式:#define宏名形参表)替换文本 例如: #define S(x,y)x*y 功能:先用替换文本替换程序中的宏名,再用实 参替换形参
格式:#define 宏名(形参表) 替换文本 例如: #define S(x,y) x*y 功能:先用替换文本替换程序中的宏名,再用实 参替换形参。 带参数的宏定义
注意: 宏替换是一种机械死板的替换,不能在替 换文本中随意添加括号
注意: 宏替换是一种机械死板的替换,不能在替 换文本中随意添加括号