Parse negative numbers slightly different and wrap all the expressions in ()'s in C