选D没有什么歧义啊~
这句的意思是:这个老妇看起来很饿,所以他就给了她一块蛋糕.老妇很感谢的收下了.
B是拒绝的意思,既然很感激(thankfully)就暗示了老妇接受了他的蛋糕.
C,gave和题目的意思不符合.是he给予的并不是老妇人.
A有一定的迷惑性,也是收的意思,但是它是指收到了,不一定表示接受.举个例子,你收到了(received)别人的舞会的邀请,但你不一定接受(accept)去参加这个舞会.所以还是因为最后有thankfully 这个词,表明老妇人接受了他的蛋糕,所以毫无疑问的就选D.
这样解释不知道你明白了没有?如果不明白我可以帮你从你不懂的地方解释一下~