萌新(不是妹子)求助,玄学问题

P1587 [NOI2016] 循环之美

不知道问题在哪里。。。
by 紫钦 @ 2019-08-13 17:02:29


@[紫钦](/space/show?uid=37839) 这是一个典型未定义行为,先算`++i`还是先算右边是不确定的
by 小菜鸟 @ 2019-08-13 17:16:16


@[紫钦](/space/show?uid=37839) 因为程序会先运行 `f[i - 1]` 后运行 `f[++i]`, 如果你把 `f[++i] = f[i - 1]` 换成 `f[i] = f[++i - 1]] ` 应该就能过。
by S1nner @ 2019-08-13 17:18:02


@[小菜鸟](/space/show?uid=60489) 嗯哈?编译确实说我未定义。 就是说先执行 ```++i``` 还是先执行 ``` f[i]=f[i-1]``` 不确定,是吗? 我还专门本地测试了一下。。。本地先执行 ```++i```。。。 (大雾
by 紫钦 @ 2019-08-13 17:18:58


@[S1nner](/space/show?uid=124768) 哦,这样啊。谢谢你。 不过为何本地先执行了```++i```了。。。 =、=。
by 紫钦 @ 2019-08-13 17:20:55


@[紫钦](/space/show?uid=37839) 因为是未定义行为,所以可能本地`Windows` 和洛谷评测姬 `Linux` 编译出来的结果不一样,
by S1nner @ 2019-08-13 17:22:30


@[S1nner](/space/show?uid=124768) 好的明白啦。谢谢$dalao$。
by 紫钦 @ 2019-08-13 17:25:10


@[小菜鸟](/space/show?uid=60489) 谢谢$dalao$啦!
by 紫钦 @ 2019-08-13 17:25:44


那么有没有谁再看看我发的另一篇讨论。。。 我觉得可能还有未定义行为?
by 紫钦 @ 2019-08-13 17:26:29


|