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

浏览:35日期:2023-05-23

问题描述

#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的时候全越界了。

相关文章: