指针 循环问题 有n个整数,使前面各数向后移m个位置,移出的数再从开头移入,自己编写的程序通不过,求大神指教错误
#include <stdio.h>#define N 100
#include <stdlib.h>
int main()
{
int m, n, i, k, a[N], *p;
k = n-1;
printf("n,m= "); scanf("%d,%d", &n, &m);
if (n < 2 || n>100 || m < 1)
return 0;
if (m > n)
m = m%n;
for (i = 0; i < m; i++)
{
*p = a[n-1];
for (k = n-1; k > 0; k--)
{
a[k] = a[k - 1];
}
a[0] = *p;
}