Arvi_
橙味美年达
2019-04-05 21:00

c++用new申请的数组在进行A[k++]操作时为什么会出错?

  • c++
using namespace std;

void func(int R[],int len,int p)
{
    int *temp = new int[len];   //若这里用int temp[10]则正确
    int k = 0;
    for (int i = p; i < len; i++)
    {
        temp[k++] = R[i];  //若这里改成temp[k],把k++单独提出来也是正确的
    }
    for (int i = 0; i < p; i++)
    {
        temp[k++] = R[i];
    }
    memcpy(R, temp, sizeof(temp));
}
int main()
{
    int R[10] = { 1,2,3,4,5,6,7,8,9,10 };
    func(R, 10, 4);
    for (auto i : R)
    {
        cout << i << " ";
    }
    system("pause");
    return 0;
}

希望大佬们帮忙解答一下,感谢!!!

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

2条回答