答案:B.不过一楼解释不到位。1. 此题考查虚拟语气的倒装语法。很明显此句是对过去动作的虚拟,所以if此句使用过去完成时had not been for...,而主句谓语由“would/could/might have done sth”即could never have been reached构成。2. 此时语法有规定:如果使用虚拟语气的if此句含有had/should/were时,则可以把had/should/were提前至从句句首,并省略if,且否定词not等不能一并提前。即:if it had not been for..= had it not been for......