是判断是对过去的虚拟呀 then的意思就是那时。 对过去的虚拟。 从句过去完成,主句would/should/could/might have done
英语讲究时态一致,c的前面是对过去的假设,但是后半部分是对将来的虚拟,语法错误。改成would have done就对了。If I knew,I would have rung him up,如果我知道他电话,我会打给他的
虚拟语气
此处表示如果过去我知道他的号码 我就能打电话给他
所以 用 if i had known it, i would have rung him up.
与过去事实相反 did换成 had done
would 换成 would have done
根据语境就知道了,我不知道他的电话号码(现在)。假设,我如果之前就已经知道的话,我就已经打电话喊他起来了——这里是过去完成时。
C的话后半部分应该用would have done something