A) Missing parenthesis in return statement.-> This is wrong because return statement does not require parenthesis.
B) Function should be defined as int f(int a, int b) -> When a function is not defines with any data type in C, it automatically assumes it to return an integer. The same would not be true if the return value would be float or any other data type. So this option is wrong.
C) Redeclaration of variable a. -> This is the correct option because int a is already declared in the argument of the function and inside the function body 'a' is declared once again which will cause error.