Goldenglow @ 2021-06-30 11:42:03
rt,这份代码本地输出是正确的(windows),lg上是错的,(linux没试过),这是为什么啊/kel
#include<bits/stdc++.h>
using namespace std;
int a[3],b[3];
signed main(){
cin>>a[1]>>a[2];
cout<<b[-1]+b[-2];
return 0;
}
by Orange_qwq @ 2021-06-30 11:50:34
好好写你的A+B,数组越界是必须考虑到某些玄学的问题的,正常人也难以说明
by xfrvq @ 2021-06-30 11:51:10
负数下标不RE吗?
by XYY1411 @ 2021-06-30 11:54:32
……闲的慌?这不是 Python。
by Krystallos @ 2021-06-30 11:56:13
请问您是闲得慌吗?
by XYY1411 @ 2021-06-30 11:56:16
要说为啥,应该是 b[-2] + b[-3]
。
by AmaZingFantasy @ 2021-06-30 11:56:45
因为b数组-1项不一定是a数组的2项,这两个数组在电脑内存里不一定是紧挨着的。可能您家电脑巧了,刚好在申请内存时把这两个数组挨到了一起,但lg上可能不是,才会导致wa
by guodong @ 2021-06-30 12:18:16
@XYY1411 为啥呀
by guodong @ 2021-06-30 12:18:33
@安湛丰 全局变量一定是紧挨着吧?
by AmaZingFantasy @ 2021-06-30 12:23:15
@guodong 我觉得洛谷oj可能和自家电脑不一样吧,总之这个东西很玄学,我也不太懂。只要数组别访问负界基本没问题
by Harry_hcx @ 2021-06-30 12:24:35
diaoyu????