2. (10 points) In an exam with 50 questions, answering a question correctly earns 3 points, answering incorrectly deducts 1 point, and not answering a question earns no points. Xiao Long scored 120 points, so the maximum number of questions Xiao Long answered correctly is ( ).
A. 40
B. 42
C. 48
D. 50
【Analysis】First, analyze that if exactly 120 points are needed, the minimum number of correct answers is 40, and the remaining 10 questions need to have a balanced score and penalty.

【Solution】Solution: According to the problem, we know:
When Xiaolong answers 40 questions correctly, the score is exactly $40 \times 3=120$ points.
Then the remaining 10 questions need to have a balanced score and penalty.
When Xiaolong answers 1 more question correctly, he can get 3 wrong and leave 6 questions unanswered.
When Xiaolong answers 2 more questions correctly, he can get 6 wrong and leave 2 questions unanswered.
When Xiaolong answers 3 more questions correctly, he can get a maximum of 7 wrong, which cannot balance the score.
Therefore, Xiaolong can answer a maximum of 42 questions correctly.
So the answer is: $B$.