讨论下 这样些写有什么好处?
1 #include <stdio.h>2
3 #define min(x,y)({ \
4 typeof(x) _x = (x); \
5 typeof(y) _y = (y); \
6 (void) (&_x == &_y);\
7 _x < _y ? _x : _y;})
8
9
10 int main(void)
11 {
12 int a=5;
13 int b=6;
14 int c=min(a,b);
15 printf("how if will be%d\n",c);
16 return 0;
17 }
~
这个是内核定义的min函数 ,而我们一般写大小对比都是以下面这种形式
1 #include <stdio.h>
2
3 int min(x,y)
4 {
5 x<y?x:y;
6 }
7
8
9 int main(void)
10 {
11 int a=5;
12 int b=6;
13 int c=min(a,b);
14 printf("how is wil be %d\n",c);
15 return 0;
16 }
~
第一种写法有什么好处?真心看不懂。