有一道程序,不知道错在哪
#include "stdio.h"#include "conio.h"
main()
{
int m,n,i,*p,*q;
printf("input n:");
scanf("%d",&n);
printf("input %d numbers:\n",n);
for(i=0;i<n;i++)
scanf("%d",p++);
printf("input m:");
scanf("%d",&m);
for(i=0;i<m;i++)
*(p+n-m+i)=*(q+i);
for(i=n-m;i>0;i--)
*(p+i+m)=*(p+i);
for(i=0;i<m;i++)
*(p+i)=*(q+i);
for(i=0;i<n;i++)
printf("%d",*p++);
getch();
}
要实现最后m个数放开头,前n-m个数一次向后m移位。运行结果出错,请指正