Here let us understand the meaning of each options .
Option A) is meaningless as far as I know since it is variable name first before type which is totally wrong.
Option B) says a function q which takes a pointer to character as parameter and then the return type is an array of integers..Since parantheses and array subscript operator have same precedence so associativity criterion is used..Since both of them are left to right associative , so compiler first interprets that there is a function whose set of parameter comprises of pointer to char data type and then on seeing the subscript operator it understands that the return type is pointer to an array of integers since there is a '*' before q.
Option C) says a pointer to a function q which takes pointer to char as argument and the return type is an array of integers.So C) is also not true.
Hence the correct option should be B).