Why does calcium oxide react with sulfur dioxide? Which of the following compounds reacts with calcium oxide, $\ce{CaO}$?
  (a) $\ce{K2O}$
  (b) $\ce{Na2O}$
  (c) $\ce{SO2}$
  (d) $\ce{MgO}$


I thought that since sodium is higher in the reactivity series than Ca, then it would be B. However, the answer is C, and I'm not quite sure why. Can anyone enlighten me?
One way of thinking about it is that calcium is a metal and therefore forms a basic oxide, $\ce{CaO}$. On the other hand, sulfur is a non-metal and forms acidic oxides $\ce{SO2}$ (or $\ce{SO3}$). So, the reaction between $\ce{CaO}$ and $\ce{SO2}$ can be considered an acid-base reaction. 

There is a somewhat obscure acid-base theory, the Lux–Flood theory, which is applicable to such reactions. In this context, bases are oxide donors (like $\ce{CaO}$) and acids are oxide acceptors (like $\ce{SO2}$).