首先,这是一项家庭作业,我非常习惯用C语言编程。我试图完成的是用户输入一个整数,然后该整数的每个单独的数字被印刷在一个新行,象下面这样:尝试颠倒整数中的数字顺序,显示额外的数字
Enter integer: 1234
The digits are:
1
2
3
4
我的问题是,无论整数你输入,由于某种原因,A 7和A 4被添加到末尾。下面是我的代码和问题的例子:
#include <stdio.h>
#define Success 0
int main()
{ int integer;
int reverse;
int digit;
printf("Enter Integer: ");
scanf("%d", &integer);
/* Reverse the numbers in the integer */
while (integer != 0) {
digit = integer%10;
reverse = (reverse * 10) + digit;
integer = integer/10;
}
/* Print the numbers of the reverse integer, in reverse order */
while (reverse != 0) {
digit = reverse%10;
printf("%d\n", digit);
reverse = reverse/10;
}
return Success;
}
的问题,例如:
Enter Integer: 12345
1
2
3
4
5
7
4
任何人有任何想法,以什么可能会导致这样的结果?通过打印reverse
我缩小了第一个while循环的问题。
什么菜鸟的错误,谢谢! – 2012-02-08 18:20:51
如果使用'-Wall'进行编译,则警告消息会将此视为问题。我建议编译所有警告,因为它有助于捕捉这些错误。 – 2012-02-08 18:32:10
我是的,它没有警告我,否则我可能会想出来。因为我认为我会一直困住这一点,甚至没有想到会有一些随机垃圾。 – 2012-02-08 23:57:33