1.p1--注释的那部分有些疑惑,位置换了,然后就无法运行出结果,不明白为什么
2.代码如下:
#include
using namespace std;
int main()
{
void move(int[], int,int);
int a[5] = { 1,2,3,4,5 };
int m;
cout << "请输入你要移动几位数:";
cin >> m;
move(a, 5,m);
return 0;
}
void move(int a[], int n,int m)
{
int* p1,*p2;
int i=1,t;
while(i<=m)
{
p1 = a + n - 1;
t = *p1;
p2 = a;
while (p1 > a)
{
*p1 = *(p1 - 1);
p1--;
}
*p2 = t;
//p1--;放在这里的时候,程序无法运行出结果;
i++;
}
for (i = 0; i < n; i++)
cout << a[i] << " ";
}