(普通C)我编了一半程序,有一个ERROR,我却不知错在哪里,帮忙改一下,谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/15 07:12:50
int l(long n)
{
int i=1,j=1;
for(i=1;j=j*10,j<n;i++);
return i;
}
int q(n)
{
if(n==0)return 1;
else return(10*q(n-1));
}
int* turn(long n)
{
int i=0,back[100];
for(i=0;i<l(n);i++)
{
back[i]=n%q(l(n)-i-1);
}
return(back);
}
main()
{
int n[100];
n=turn(1000);
int i=0;
for(i=0;i<6;i++)printf("%d",n[i]);
}

首先你返回back就不对 你定义了一个指针函数,返回得东西不是指针,但是我把你back返回一个函数试验
主函数里面到n=turn(1000)就有问题了,说明你turn函数有问题~

int l(long n)
{
int i=1,j=1;
for(i=1;j=j*10,j<n;i++);
return i;
}
int q(n)
{
if(n==0)return 1;
else return(10*q(n-1));
}
int* turn(long n)
{
int i=0,back[100];
for(i=0;i<l(n);i++)
{
back[i]=n%q(l(n)-i-1);
}
return(back);
}
main()
{
int n[100];
n=turn(1000);
int i=0;
for(i=0;i<6;i++){
printf("%d",n[i]);
}
}