快读参数居然是倒着输入的??为什么???

P3372 【模板】线段树 1

dulox @ 2024-11-27 21:43:01

f( read() , read() )

a=read(),b=read(); f(a,b);

debug时发现输入 1,2,5

change(int ll,int rr,int d);

结果传入的是(ll=5,rr=2,d=1) ????? 想不通


by luuia @ 2024-11-27 21:44:38

UB


by 鱼跃于渊 @ 2024-11-27 21:45:34

这是未定义行为,出现什么都有可能。


by Grammar__hbw @ 2024-11-27 21:46:05

@dulox UB


by dulox @ 2024-11-27 21:48:07

emmm @鱼跃于渊 弱弱问一句 UB是什么。。。


by 鱼跃于渊 @ 2024-11-27 21:49:39

@dulox 就是未定义行为。


by chen_z @ 2024-11-27 21:49:53

@dulox 就是未定义行为,比如说你局部变量不赋初值的话,它很可能就是给你一个随机的值


by liangbowen @ 2024-11-27 21:52:44

@鱼跃于渊 @chen_z 这个是确定从右往左遍历的,不是 ub


by 鱼跃于渊 @ 2024-11-27 21:55:44

@liangbowen 真是这样吗?我建双向边时如果写 add_edge(read(),read()),几乎写一次挂一次。


by liangbowen @ 2024-11-27 21:57:24

@鱼跃于渊 自己翻 cppreference,我记得就是从右往左传的


by vegetable_chili @ 2024-11-27 21:58:42

函数调用一直是从右往左的。


| 下一页