int64 @ 2021-08-24 21:53:15
下面这段代码:
#include<iostream>
using namespace std;
int a[4];
int main() {
cin >> a[0] >> a[1];
a[10] = a[0] + a[1];
a[2] = a[10];
cout << a[2] << endl;
return 0;
}
明显 a[10] 超过了 a 定义的长度 4,但是为何没有影响程序并且 AC 了此题?
by int64 @ 2021-08-24 21:53:37
我记得数组越界访问会 RE 的吧
by 一SakuRa @ 2021-08-24 21:54:05
@int64
离谱
by int32 @ 2021-08-24 21:54:31
a草
by 一SakuRa @ 2021-08-24 21:54:36
@int64
不一定(好像)
by MeowScore @ 2021-08-24 21:54:45
离谱艹
by w23c3c3 @ 2021-08-24 21:55:07
哈哈我似乎在谷群问过这样的问题
by MeowScore @ 2021-08-24 21:55:16
@int64 把10改成1000就炸了
by RenaMoe @ 2021-08-24 21:55:25
@int64 这得看 RP 了,你可能正好访问的是没分配的地方。开 O2 就容易挂了。
by int64 @ 2021-08-24 21:55:38
但是 cin&cout 的时候越界会 RE
by 斜揽残箫 @ 2021-08-24 21:55:47
我感觉你吸个氧肯定会 RE