a
当他到家的时候,他的妈妈已经做完饭了.此处要用完成时,因为前面加的是by the time,只用用完成时才能加表一段时间的状语.
选A 是因为原句采用的是一般现在时arrives,如果用的是arrived,那么就选B