첫째, 숙제가 주어지기 때문에 C로 프로그래밍하는 것이 매우 익숙합니다. 사용자가 정수를 넣으려고합니다. 다음 해당 정수의 각 자리는 다음과 같은 새 줄에 인쇄되어 있습니다 :정수의 숫자 순서를 반대로하려고하면 추가 숫자가 표시됩니다.
Enter integer: 1234
The digits are:
1
2
3
4
내 문제는 당신이 입력, 어떤 이유로 7과 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 루프의 문제점을 줄였습니다.
신인이 된 실수입니다. 감사합니다! –
'-Wall'로 컴파일하면, 경고 메시지는 이것을 문제로 제안합니다. 이 버그를 잡는 데 도움이되므로 모든 경고와 함께 컴파일하는 것이 좋습니다. –
나는 그랬다. 그리고 그것은 나에게 그것을 경고하지 않았다, 그렇지 않으면 나는 아마 그것을 이해했을 것이다. 그것이 내가 잠시 머물렀을 것이라고 생각했기 때문에 거기에 임의의 쓰레기가있을 것이라는 생각조차하지 않았습니다. –