单选题 Had I run out of gas, I ought to have called the garage.

【正确答案】 B
【答案解析】[解析] 本句考察虚拟语气的用法:本句前面部分是表示与过去事实相反的虚拟条件从句,后面的主句谓语应用should/would/could/might+have+过去分词;因此选项B为答案。