已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。
2天前关闭。
Improve this question
我试着学习C++的基础知识。现在我试着弄清楚数组。但是当我运行这个小程序时,我的IDE引发了空指针异常。我不明白为什么会发生这种情况。
include <iostream>
using namespace std;
int main(){
int[] arr = {1, 2, 3};
for(int i=0; i < 4; i++){
cout << arr[i] << endl;
}
exit 0;
}
我在google上搜索了关于空指针异常的答案。我知道它是什么,但不明白为什么它会在我的程序中出现。我的数组有3项,所以我认为i〈4语句是正确的
1条答案
按热度按时间vaqhlq811#
数组有三个元素,但您试图在最后一次迭代中访问第四个元素。
for
循环中的条件是错误的。(注意:从C++ 17开始,可以使用sizeof arr / sizeof *arr
或std::size(arr)
计算元素的数量。)要完全避免这类问题,请使用range-based for loop。