So far I have written a code to find the reverse of a number as well as the sum of the digits for an integer. The program is meant to keep asking the user for a new integer so that it will find the sum and reverse of that new integer again. However when the program asks the user for a new integer it just adds it to the original one how can I separate the operation. For example this is what came out:

Enter an integer:
123
The sum of the digits is: 6
The reverse of the number is : 321
1 <------------ (at this part it didn't even go back to the original printf statement)
The sum of the digits is: 7
The reverse of the number is : 3211




Code:
#include <stdio.h>
int main()
{

int n, sum=0, r, reverse=0;

printf("Enter an integer:\n");
scanf("%d", &n);

while(n!=-1)
{
while(n!=0)
{
r=n%10;
sum=sum+r;

reverse=reverse*10;
reverse=reverse+n%10;
n=n/10;
}

printf("The sum of the digits is: %d\n", sum);
printf("The reverse of the number is : %d\n", reverse);

scanf("%d", &n);

}
return 0;
}



By the way I am new with this so please bear with me, thank you in advance.