Isn't the answer is "A" because function overloading isn't allowed in C?
More than one function in the same file may have the same name:
A. never in C and only if their signatures are unambiguously different in C++.
B. only if they are all declared static.
C. if all but 1 are declared static or const.
D. only if no external variables are used.