/Users/harlanhaskins/macro-good.c:
1 |
#include <stdio.h> | |||||||||||||||||||||||||||||||||||||
2 |
||||||||||||||||||||||||||||||||||||||
2 |
3 |
#define MY_MACRO(x, y) do { \ | ||||||||||||||||||||||||||||||||||||
2 |
4 |
typeof(x) __x = (x); \ | ||||||||||||||||||||||||||||||||||||
2 |
5 |
typeof(y) __y = (y); \ | ||||||||||||||||||||||||||||||||||||
2 |
6 |
if (__x == 10) \ | ||||||||||||||||||||||||||||||||||||
1 |
7 |
printf("%d", __x * __y); \ | ||||||||||||||||||||||||||||||||||||
2 |
8 |
} while (0) | ||||||||||||||||||||||||||||||||||||
9 |
||||||||||||||||||||||||||||||||||||||
1 |
10 |
int main() { | ||||||||||||||||||||||||||||||||||||
1 |
11 |
;MY_MACRO(10, 10); MY_MACRO(20, 10); // line 11
;MY_MACRO(10, 10); MY_MACRO(20, 10); // line 11
|
||||||||||||||||||||||||||||||||||||
1 |
12 |
return 0; | ||||||||||||||||||||||||||||||||||||
1 |
13 |
} |