The correct answer is C. She asked him why he did not go today.

A is incorrect because "that" is used to refer to something specific, while "why" is used to ask for a reason. In this case, the speaker is asking for a reason why the listener did not go today, not a reason why the listener does not go in general.

B is incorrect because "if" is used to ask a question about possibility, while "why" is used to ask for a reason. In this case, the speaker is asking for a reason why the listener did not go today, not whether or not the listener is going that day.

D is incorrect because "that" is used to refer to something specific, while "why" is used to ask for a reason. In this case, the speaker is asking for a reason why the listener did not go today, not a reason why the listener did not go on a specific day.