I guess the most important things for platform games are to get the physics and collision detection right. Nothing is more annoying than when you get hit by an enemy when there was absolutely no reason, and overkill inertia like in Addam's Family is also bad design.
For collision detection some 2D vector math might help you out a lot. I recommend the book "3D math primer for graphics and game development" (which you can easily get digitally through your favorite edonkey client). It also has a section on 2D vector math that is very easy to understand, with example code (allthough it's simple C++, it should not be much of a problem with your basic C knowledge).