我交了一版,竟然是自加(++)写错了

P4735 最大异或和

UB
by UID341736 @ 2020-12-02 08:20:52


不是,这是编译器的问题,有的编译器会从右往左算,有的会从左往右算。
by a___ @ 2020-12-02 08:22:09


C++17前是UB,17及以后会先算等号右边的值再赋值
by Schwarzkopf_Henkal @ 2020-12-02 08:22:52


不符合编程规范的代码 当赋值左右都有一个变量的时候不要自增 另附上: 函数压栈顺序是从右往左, 所以写函数传参不要这样写: ``` void add(int u, int v) int t=0; add(++t, ++t) ``` 认为: `u = 1, v = 2` 实际: `u = 2, v = 1`
by __OwO__ @ 2021-04-27 08:29:27


@[Moral_and_Law](/user/80953) 我也被这个坑过N次,尤其是写可持久化数据结构时那个根的更新
by __OccDreamer__ @ 2021-05-30 16:23:08


谢谢,孩子已经 WA 傻了
by 天泽龟 @ 2021-09-03 14:49:26


|