찾다

 >  Q&A  >  본문

c++ - 我用指针对数组赋值的操作哪里错了?

#include <iostream>

using namespace std;

int main()
{
    int* p;
    int arr[10];
    p = arr;
    
    for( int i = 0; i <10; i++)
    {
        //arr[i] = i;   //这句可以得到预计的结果
        //*(p + i) = i  //这句也可以
        *(p++) = i;   //这句为什么不行
    }

    for(int i = 0; i < 10; i++)
    {
        cout << *(p++) <<endl;  //这句可以`请输入代码`
    }
}
PHPzPHPz2803일 전402

모든 응답(1)나는 대답할 것이다

  • 高洛峰

    高洛峰2017-04-17 13:18:27

    你的第一个for循环结束时,p已经指向数组最后一个元素。这样cout的时候全越界了。

    회신하다
    0
  • 취소회신하다