#define max(a,b) \ ({ typeof (a) _a = (a); \ typeof (b) _b = (b); \ _a > _b ? _a : _b; })
Почему не просто (a> b? a : b) ?
(a> b? a : b)