程序中有时反复出现一些长数值的常量,容易写错,希望能用符号来表示,例如,用PI表示3.1415926。有时希望沿用一些习惯或者直观的表达式,例如,AND(逻辑与)、OR(逻辑或)。利用宏定义可以满足这些要求。无参宏指令的定义格式为
#define 宏名 宏体
其中宏名是符号常量,也称为宏常量,通常由大写字母组成,他们出现在程序中,通过预处理,宏定义被宏体替换。宏定义不是语句,最后不能加分号。
#include<stdio.h>
#define PI 3.1415926 //无参宏定义1
#define FORMAT "a=%d,b=%d\n" //无参宏定义2
#define OR || //无参宏定义3
int main()
{
int a,b,r;
double s;
scanf("%d%d",&a,&b);
if(a OR b)
{
printf(FORMAT,a,b);
r=a>b?a:b;
s=r*r*PI;
printf("%g\n",s);
}
return 0;
}