#include
#include
void reverse(int p,int *q)
{
int j=0,i=0,N=8,k=N/2;
for(;j<=N-1;j++) //雷德算法
{
*(p+j)=(q+i);
while(k<=i)
{
i=i-k;
k=k/2;
}
i=i+k;
k=N/2;
}
}
int main()
{
int a[]={1,2,3,4,5,6,7,8};
int b,*c,i;
b=a;
c=(int)malloc(sizeof(int)*8);
reverse(c,b);
for(i=0;i<8;i++)
printf("%d",*(c+i));
return 0;
}
编译没问题,运行也没提示出错,但就是一直卡在那,光标闪烁,没有显示结果,求大神解答