《关于奇怪的UB》&警示后人
  • 板块灌水区
  • 楼主creation_hy
  • 当前回复8
  • 已保存回复8
  • 发布时间2022/12/1 19:55
  • 上次更新2023/10/27 00:49:36
查看原帖
《关于奇怪的UB》&警示后人
576378
creation_hy楼主2022/12/1 19:55

link1link2

差别只是:

qy[c2] = (QuerySet){p, y, i, ++c2};

改成了

c2++;
qy[c2] = (QuerySet){p, y, i, c2};

update(a[cur].time, m, a[cur++].k);

改成了

update(a[cur].time, m, a[cur].k), cur++;

然后就AC了

改的原因是我发现在线IDE的结果和本地不同,然后就输出了一下中间变量,发现在线IDE第一段语句执行后顺序错开了。

本地运行结果(分别是输出的i和qy[i].id)

1 160
2 44
3 252

你谷在线IDE:

1 0
2 160
3 44

不懂就问这也属于UB吗(

2022/12/1 19:55
加载中...