Sad to see no answers, but I thought over it again and I think this is the concept.
Basically, we have to keep the mechanism of nucleophilic addition in our mind. A nucleophile (with a lone pair and sometimes a negative charge) attacks the <C=O> as C is slight +ive due to a polar bond between C and O. Carbon 'throws' the electrons of the pi-bond to oxygen as it has a slight negative charge--think of it as a haughty husband divorcing his wife and giving her the kids. It is then marries--rather bonds with the nucleophile. This forms a carboanion (I think the spellings are wrong). Then, the latter part of the nucleophile (which is basically an electrophile) attacks the oxygen. CN- is a nucleophile too and hence follows this mechanism, along with H+ which attacks the O- (basically having an additive electron from the pi-bond).
Now replace CN- with -CH2CH2CO2 (basically, the negative charge is on the CH2 NOT bonded to CO2). It plays the same role as CN-, and we get C as the answer. I think the usage of weak and strong base is not really related to this solution, and even if it is it is not necessary to solve this.