用指针移动数的问题!
原题是这样的:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面m个数
#include<stdio.h>
#define n 50
int main()
{
int m,i,j,a[n],t;
int *p;
for(i=0;i<n;i++)
a[i]=i+1;
p=a;
for(i=0;i<n;i++)
printf("%d ",*(p+i));
printf("\n");
scanf("%d",&m);
if(m<0&&m>n)
printf("error");
else
{
for(i=0;i<m;i++)
{
for(j=0;j<n-1;j++)
{
t=*(p+n-1);
*(p+n-j-1)=*(p+n-j-2);
}
*p=t;
}
}
for(i=0;i<n;i++)
printf("%d ",*(p+i));
}为什么的最后一个数不见了...