Reputation: 125
I'm trying to write a program to reverse a number.
Here's my code:
int num, rev, rem;
printf("Input a number: ");
scanf("%d", &num);
while (num != 0)
{
rem = num % 10;
num = (num - rem) / 10;
rev = rev * 10 + rem;
}
printf("\n\nThe reverse number form is: %d.\n\n", rev);
getch();
Here's the problem:
Input a number: 123
The reverse form is 8321.
I don't know where the '8' comes from. Can someone help?
Upvotes: 0
Views: 517
Reputation: 131
Don't you want
rev = num * 10 + rem;
Because as said before, rev isn't initialized..
Upvotes: 0
Reputation: 47784
Initialize rev
to zero before use
Statement rev = rev * 10 + rem;
uses value of rev
that is garbage.
int rev =0 ;
Upvotes: 3