当我想改变数组的最后一个元素时,我总是使用[-1]作为最后一个元素。
#include <iostream>
using namespace std;
int main(){
int arr[10]{};
arr[0]=10;
arr[-1]=100;
cout<<arr[-1]<<endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
然后我的老师说:“ C ++不支持数组的这种行为。我应该使用arr [9]作为最后一个元素,而“ arr [-1] = 100”实际上将在其中一个元素之前的区域中存储1000。数组开始。这会导致崩溃,因为该值超出了数组的范围。” 有人可以解释为什么吗?
注意:我是python程序员。当我在列表中使用-1时,我在python中没有问题。C ++有不同的条件吗?