MST

星途 面试题库

面试题:Rust复杂逻辑条件下布尔类型处理

假设你有三个布尔变量`x`、`y`、`z`,请用Rust编写一个函数,该函数接受这三个变量作为参数,并在满足`(x && y) || (!y && z)`条件时返回`true`,否则返回`false`。同时,分析该逻辑表达式在不同输入情况下的执行路径。
40.4万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
fn check_conditions(x: bool, y: bool, z: bool) -> bool {
    (x && y) || (!y && z)
}

逻辑表达式执行路径分析

  1. ytrue
    • !y && z 这部分为 false,因为 !yfalsefalse && z 恒为 false
    • 此时只需看 x && y,若 xtrue,则 (x && y) || (!y && z)true;若 xfalse,则 (x && y) || (!y && z)false
  2. yfalse
    • x && y 这部分为 false,因为 yfalsex && false 恒为 false
    • 此时只需看 !y && z,若 ztrue,因为 !ytrue,则 (x && y) || (!y && z)true;若 zfalse,则 (x && y) || (!y && z)false