Вы там поменяли местами значкения двух переменных указателей. Поскольку переменные (указатели) переданы по значению, то вне функции ничего не поменялось.
Вы же менянте местами значения int, значит временная переменная tmp должна быть int, а указатели надо разименовывать.