一、认识预处理
二、无参宏定义
三、带参宏定义
#include<stdio.h>
#define Max(a,b) (a>b)?a:b //将(a>b)?a:b 替换成Max(a,b)
void main(){
int x,y,max;
printf("Input two numbers:");
scanf("%d %d",&x,&y);
max = Max(x,y); //max =(x>y) ? x:y
printf("The max is %d\n\n",max);
}
需要注意以下几点:
#include<stdio.h>
#define SQ(y) (y)*(y)
void main(){
int a,sq;
printf("Input a numbers:");
scanf("%d",&a);
sq = SQ(a+1); //sq = (a+1)*(a+1);
printf("The max is %d\n\n",max);
}
如果写成
#define SQ(y) y*y)
则就成了:
sq = SQ(a+1); //sq =a+1*a+1;
四、条件编译