John was not here yesterday. Perhaps he was ill. John needn't be here yesterday because
Giải thích
Đáp án C.
Might have done sth: dự đoán việc gì đó xảy ra trong quá khứ (chưa biết chắc nó có như vậy hay không) → Đáp án C là chính xác
Cần phân biệt giữa must have done sth, might have done sth: Must have done sth: suy đoán logic về 1 sự việc trong quá khứ, thường có dấu hiệu đi kèm, mang hàm nghĩa chắc chắn nhiều hơn may và might.