Can I find the factorial of a number using conditional operator in a macro definition?

#define fact(n) ( n == 0 ? 1 ; (n*(fact(n-1) ) ) )

since recursive definition is not allowed in macros, is there any work around?

Thanks,
Anoop.