以下是一个写有比较大小的宏定义,其中每一行的末尾有有一个反斜杠符号 ' \ ' ,其代表的意思本行要写的内容还未结束,是连接这行与下一行的纽带。因为宏定义的内容是要编写在同一行才会生效,隔行的话语句就独立开来了(个人想法,如有高见,请多指教)
#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:Bint main(){printf("%d",MM(2,1));return 0;}