这程序错在哪里?
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
long int change(char a[],int n)
{
int i,j,k;long back=0;
char temp;
i=strlen(a);
for (j=0;j<i/2;j++){
temp=a[j];
a[j]=a[i-j-1];
a[i-j-1]=temp;
}
printf("%d----%d\n",lr,time++);
for (k=0;k<i;k++)
back+=(a[k]-48)*pow(n,k);return back;
}
main()
{
char a[30];int n;long re;
printf("输入数字:\n");
scanf("%s",a);
printf("输入进制:\n");
scanf("%d",&n);
re=change(a,n);
printf("结果: %ld",re);
system("pause");
}
比如输入入123456 10 显示是错的