By option elimination method:
Options A & C are wrong because *s is an invalid argument as s is not a pointer
Option B is incorrect because the f function return type is void while in option it shows of type int implicitly.
Option D is correct because f(100,12) is a valid function call for f(int, short).