It depends on which pokemon game you are referring to. Go to pokemondb.net and look for machamp to see what games he can learn it in.
Chat with our AI personalities
Geodude learns rock smash by teaching it the HM move rock smash.
A wide variety of Pokemon can use Rock Smash. Most Fighting, Rock and Ground type Pokemon can learn the move Rock Smash from the TM or HM depending on the Pokemon version.
no Pokemon can learn rock smash by leveling up you have to get the hm.
Rock Smash is a Hm you get when you get to the third gym. So, he doesn't learn it but you can make him learn it with that Hm
No Oddish cannot learn Rock Smash.