#include <stdio.h>
int main()
{
int original = 321;
int reversed = 0;
int lsd;
printf( "original equals %d\n" , original );
lsd = original % 10; // las now equals 1
original /= 10; // the same as original = original / 10; original now equals 32
reversed *= 10; // the same as original = original * 10; reversed now equals 0
reversed += lsd; // the same as original = original + lsd; reversed now equals 1
lsd = original % 10; // lsd now equals 2
original /= 10; // original now equals 3
reversed *= 10; // reversed now equals 10
reversed += lsd; // reversed now equals 12
lsd = original % 10; // lsd now equals 3
original /= 10; // original now equals 0
reversed *= 10; // reversed now equals 120
reversed += lsd; // reversed now equals 123
//at this point, original is 0, so we know we are done.
printf( "reversed equals %d\n" , reversed );
return 0;
}