小编Ser*_*Kul的帖子

为什么重复乘法在调试模式下会因溢出而崩溃,而在发布模式下仅输出零?

我写了这段代码:

fn main() {
    let mut k: i64 = 1;
    loop {
        k = k * 10;
        println!("cool {}", k);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我运行cargo run我会得到:

fn main() {
    let mut k: i64 = 1;
    loop {
        k = k * 10;
        println!("cool {}", k);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是如果我在(在发布目录中)之后运行可执行文件cargo build --release,我会得到一个无限循环:

cool 10
cool 100
cool 1000
cool 10000
cool 100000
cool 1000000
cool 10000000
cool 100000000
cool 1000000000
cool 10000000000
cool 100000000000
cool 1000000000000
cool 10000000000000
cool 100000000000000 …
Run Code Online (Sandbox Code Playgroud)

integer-overflow rust

4
推荐指数
1
解决办法
318
查看次数

标签 统计

integer-overflow ×1

rust ×1