Correct option is D
The correct indirect/ direct speech is
(d) He asked how long I had been waiting.
Explain the right answer in detailed form: This is a
wh-question, so in indirect speech we use
asked (not “said”) and we change the question into a
statement order (no inversion). Also, since the reporting verb is in the past (
he said/asked), the present perfect continuous
“have been waiting” backshifts to
past perfect continuous
“had been waiting.” The pronoun
you changes according to the listener; in the options it becomes
I, which is acceptable.
Rules of conversion used (Direct → Indirect):
· Reporting verb:
said (question) → asked
· Word order:
How long have you been…? → how long I had been… (no “had I”)
· Tense backshift:
have been waiting → had been waiting
·
Example: She said, “Where are you going?” → She asked where I was going.
·
Information booster / exceptions related to the topic:
· Indirect questions never use
do/does/did and never use
inversion (no “had I / is he”).