“&&”对于判断条件的位置也有要求?

P5788 【模板】单调栈

@[lciopyyds](/user/524782) &&有个优化 当前面的为假时不会去看后面的 相应的||也一样 反过来的话如果s是空的找s.top()会re 正常的如果s是空的就不会往后看了
by _int_main_ @ 2022-05-11 20:59:45


会先判断前面的是否正确,不正确就不执行后面的。 但是你调过来的话,先判断第一个,如果是空的话就会RE
by 崔化博 @ 2022-05-11 21:00:38


@[lciopyyds](/user/524782) `&&` 短路求值,`a && b` 中如果判断 `a` 为假就不会管 `b` 了
by 5k_sync_closer @ 2022-05-11 21:00:53


@[_int_main_](/user/356759) 懂了,谢谢大佬
by 2_6HogCycle @ 2022-05-11 21:03:28


@[崔化博](/user/304524) 谢谢大佬,懂了
by 2_6HogCycle @ 2022-05-11 21:04:03


@[5k_sync_closer](/user/388651) 谢谢大佬,懂了
by 2_6HogCycle @ 2022-05-11 21:04:22


@[lciopyyds](/user/524782) && 有**短路性**,即表达式1值为false时,直接返回false。在你的代码中,如果先判断“a[s.top()]<=a[i]”可能出现s为空的情况,导致运行错误;反之,先判断“!s.empty()”,若为空直接返回false,不会re(普及:|| 也有短路性,即表达式1值为true时,直接返回true)
by Lqh_xy @ 2022-05-11 21:05:02


@[Lqh_xy](/user/594039) okok,懂了
by 2_6HogCycle @ 2022-05-11 21:06:04


谢谢楼上各位大佬,蒟蒻懂了 此帖终
by 2_6HogCycle @ 2022-05-11 21:06:59


|