Basta leggere la documentazione

"fgetc and getc are equivalent, except that the latter one may be implemented as a macro."

e anche

"getc is equivalent to fgetc and also expects a stream as parameter, but getc may be implemented as a macro, so the argument passed to it should not be an expression with potential side effects."