以下是一个写有比较大小的宏定义,其中每一行的末尾有有一个反斜杠符号 ' \ ' ,其代表的意思本行要写的内容还未结束,是连接这行与下一行的纽带。因为宏定义的内容是要编写在同一行才会生效,隔行的话语句就独立开来了(个人想法,如有高见,请多指教)
#include<stdio.h>
#define MAX(x,y) ({ \
int _x = x; \
int _y = y; \
_x > _y ? _x : _y; \
})
int main(){
printf("%d",MAX(2,1));
return 0;
}
如果不添加 ' \ ',也可以的,只不过都写在一行里,不方便阅读
#include<stdio.h>
#define MAX(x,y) ({ int _x = x; int _y = y; _x > _y ? _x : _y; })
#define MM(A,B) A>B?A:B
int main(){
printf("%d",MM(2,1));
return 0;
}