首先,這是一項家庭作業,我非常習慣用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