一个问题,不懂
7680 2002-01-18 02:24:12 这个程序是用于把n个数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数的。
#include<iostream.h>
void move(int*,int,int);
void main()
{
int number[20],n,m,i;
cin>>n
>>m;
for(i=0;i<n-1;i++)
cin>>number[i];
move(number,n,m);
for(i=0;i<n-1;i++)
cout<<number[i]<<endl;
}
void move(int *array,int n,int m)
{
int *p,array_end;
array_end=*(array+n-1);
for(p=array+n-1;p>array;p--)
{
*p=*(p-1);
}
*array=array_end;
m--;
if(m>0) move(array,n,m);
}
我运行的结果如下:
输入:
5
2
21 34 45 33 35
输出:
35
-858993460
21
34
45
第二个数怎么会出现溢出?