我用指针对数组赋值的操作哪里错了?
#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; //这句可以`请输入代码`
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你的第一个for循环结束时,p已经指向数组最后一个元素。这样cout的时候全越界了。