编了一个输入任意整数,然后将该整数倒序输出的程序。
在输入整数的位数<=4位时,程序运行正常,但输入位数>=5位时候,经常输出的是一个负数。求教各位大虾,是哪儿出了问题。例如:输入12345,输出变成了:-11215。程序如下:
#include "stdio.h"
#include "math.h"
main() {
int i = 0,s = 0,l,t,p,n,k;
printf("input a integer:\n");
scanf("%d",&n);
k = n;
do {
i = i+1;
n = n/10;
} while (n != 0);
for (l=1;l <= i;l++) {
t = pow10(l-1);
p = pow10(i-l);
s = s+((k/t)%10)*p;
}
printf("s = %d\n",s);
getch();
}
用的tc2.0编的,感觉是编译器的问题,导致的错误。
[此贴子已经被作者于2006-11-13 14:38:13编辑过]