首页 > 试题广场 >

请在函数括号内填入合适的内容,使函数完整。

[问答题]

下列函数move的功能是将长度为n的序列a中各元素依次顺序循环右移m个位置。例如,对于序列a=(1,3,5,7,9,11),若m=2,则右移后的结果为a=(9,11,1,3,5,7)。

请在函数括号内填入合适的内容,使函数完整。

move(int *a,int n,int m)
{  
    int *p,k,temp;
    for(k=1;k<=m;k++){
    temp=();             /*保存序列的最后那个元素*/
    for(p=a+n+1;();p--)
        *p=*(p-1);                    /*将元素右移一个位置*/
    *a=temp;
    }
}
a[n-1]
p!=a
题目有问题,循环开始条件应为p=a+n-1。
发表于 2017-05-09 19:24:53 回复(3)