我正在写一个程序来反转一个数字。
这是我的代码:

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();

问题是:
输入数字:123
反面是8321。
我不知道“8”是从哪里来的。有人能帮忙吗?

最佳答案

使用前将rev初始化为零
语句rev = rev * 10 + rem;使用的值rev是垃圾。
int rev =0 ;

关于c - 逆数算法错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21216130/

10-14 07:10