__two tickets for the new play at the Grand Theatre on saturday .shall we go and see it tonight"

问题描述:

__two tickets for the new play at the Grand Theatre on saturday .shall we go and see it tonight"
I have been given two tickets for the new play at the Grand Theatre on saturday .shall we go and see it tonight
A. they have been given
B.I have been given
C.I am given
D.they have given to me
答案选B,A肯定不行C和D为什么要不得.还有要是选B的话,说成主动I have given 不还好些?

B项不能用主动,我是被给,是接受者,而不是施予者,不能用I have given
同理C项语法上也通,用的都是被动语态,但却是现在时.
而此句意义上理解,用完成时比较恰当,这个被给的动作已经完成了,从过去到现在,说明现在票已经在我手上.所以B、C取B项更佳.
而D项是词组搭配上的错误,只能说They have given me two tickets,或是they have given two tickets to me. (give sth. to sb./ give sb. sth.)