The correct answer is (c) 7.
Let $C$ be the set of students who play cricket, $F$ be the set of students who play football, and $V$ be the set of students who play volleyball. We are given that $|C|=20$, $|F|=25$, $|V|=18$, $|C\cap F|=15$, $|F\cap V|=12$, and $|C\cap V|=10$. We want to find $|C\cap F\cap V|$.
We know that $|C|+|F|+|V|-|C\cap F|-|F\cap V|-|C\cap V|+|C\cap F\cap V|=33$. Substituting in the values we know, we get $20+25+18-15-12-10+|C\cap F\cap V|=33$. Solving for $|C\cap F\cap V|$, we get $|C\cap F\cap V|=7$.
Therefore, there are 7 students who play all three games.
Here is a diagram that may help visualize the problem:
[Diagram of a Venn diagram with three circles labeled C, F, and V, with the numbers 20, 25, 18, 15, 12, and 10 inside the circles, respectively.]
The number of students in each circle represents the number of students who play that game. The number of students in the intersection of two circles represents the number of students who play both of those games. The number of students in the intersection of all three circles represents the number of students who play all three games.