The programmer may make a mistake in a wrong analysis of the situation_the program was based.
A.which B.where C. on which D.of what
B和C里选啥,为啥不选另一个?
答:C
析:本题考定语从句。the program was based on sth. ( 这个先行词应该是analysis,而非the situation,其实这个定语从句应为非限制性的,因为前面这句话意思完整:程序员可能因为对情况的错误分析而犯错误,而这个程序是建立在这个错误的分析的基础上的: on which the program was based.
有同学没有理解句意,以为先行词是situation,并根据考试经验,选where,其实不是这样。
当先行词不是一个典型的地点名词如place等等,别的事物与它在位置上有固定的搭配(in a place ,in a factory)时,要用具体的介词+which而不能用where来引导定语从句,因后者并不能让人明白两者的关系如:
The desk under which there is a cat is mine.
下面有只猫的那张办公桌是我的。(办公室里有好多桌子。其中的一只书桌下面有一只猫,我这样说。这里就不能用where,因为这个where不能还原成under which, 别人不知道这猫与书桌的关系。因为这猫可以在上面(on),里面(in), 在旁边(beside), etc .
能用where引导定语从句的,一般都能找到一个合适的介词后+which来代替。但介词+which却不一定能用where来代替。for which用why, 表示时间的in/at/on which 用when. 表示地点的in/on/ at /to whch 可用where,其它的介词+which不可以。
追问天哪,您太敬业了,佩服,能交个朋友么?
追答我们是网上的朋友。有时即使是in/on/at which,如果不是表示地点,也不可以用where