1) We don't just give out homework answers;
2) You didn't provide the code for fac();
3) You could just type this in, add a main(), call f() and see what it returns.
Since I take it jsmith defined all these as pointers, I'll just slip in a reinterpret_cast and see what we get... ah, yes.
1) We don't just give out effortless answers to anything, except MAYBE in the Articles section where people are expressly forbidden from asking questions except as part of an article;