B should be the right answer.
The given grammar will give 2 different parse trees for a + a * a, so clealy the given grammar is ambiguous.
The language L is {epsilon, a, a+a, a+, +a, a*, *a, a*a, a+a+a, a+a*a, a*a+a, a*a*a, ....}
By the ambiguity of language, I guess here inherent ambiguity of that language is being referred.
A context-free language L is called inherently ambiguous if every context-free grammar deriving L is ambiguous.
So to prove that L is not ambiguous, I just have to come up with an unambiguous grammar for L.
Here is an unambiguous grammar for L:
S --> S + E | E
E --> E * F | F
F --> a | epsilon
So, L is not ambiguous.