社区讨论

为什么三元运算符就不会因为下标负数RE

学术版参与者 5已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@mdivylp9
此快照首次捕获于
2025/07/25 21:57
7 个月前
此快照最后确认于
2025/11/04 03:43
4 个月前
查看原帖
CPP
int Find(int x) {
//    if (fa[x] == x) {
//        return x;
//    }
//    fa[x] = Find(fa[x]);
//    return fa[x];
    return fa[x] == x ? x : fa[x] = Find(fa[x]);
}
在上述代码中,当 xx 是负数时,用被注掉的代码就会报错,但是用三元运算符,fa[x]fa[x] 就会返回0并且正常运行,这是什么原理???

回复

4 条回复,欢迎继续交流。

正在加载回复...