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.