问题描述
#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; //这句可以`请输入代码` }}
问题解答
回答1:你的第一个for循环结束时,p已经指向数组最后一个元素。这样cout的时候全越界了。