请大家不要误导,答案应该是B啦.
这题显然是虚拟语气,意为:要不是因为有免费电影票,我就不会那么常看电影了.以不符合真实情况或不可能发生的事情作为条件从句,是为虚拟语气的用法.前面的从句通常用IF引导.
如果是对过去时虚拟,则有:
If+过去完成时,主语+could/would/shouldhavedone...
例:ifithadrainedthismorning,icouldhavearrivedontime.
如果是对现在时或将来时虚拟,则有:
If+一般过去时,主语+could/would/shoulddo...
例:iftherewerenoair,peoplewoulddie.
这是最简单的两个规则.但是有时候会出现时态混用.例如你的句子中,常去看电影虽然用了完成时,但是还是强调的是一般现在情况(不然不会用often了).所以应该套用对现在时虚拟,用ifitwerenotfor.,如果将IF省略,则需将谓语提前,即谓语倒装,成了wereitnotfor...
为了对自己的回答加强自信,我特意去网上搜寻了这一题,youknowwhat,这是上海1995年高考题第16题,答案正是我说的B.