You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rust中通过用户输入退出循环的方法及计算器循环失效问题

Rust计算器循环退出问题的解决方法

你的代码没法正常退出循环,主要是这几个问题导致的,直接给你解决方法:

  • main函数定义错误:原代码里fn main {少了括号,Rust要求函数定义必须带括号,正确写法是fn main() {。

  • 输入字符串包含换行符:read_line会把用户输入的回车键(换行符\n)也存入字符串,所以输入n回车后,answer实际是"n\n",和"n"不相等,判断自然不触发。解决办法是用trim()方法去掉字符串两端的空白字符(包括换行符、空格),把判断改成if answer.trim() == "n"。

  • 缺少io模块导入:直接用io::stdin()会编译报错,需要在文件开头加上use std::io;,或者写成std::io::stdin()。

  • 未定义的result变量:代码里println!("result: {}", result);中的result没有定义,得在计算器逻辑部分补充这个变量的赋值,不然编译通不过。

修正后的完整代码示例:

use std::io;

fn main() {
    loop {
        // 替换成你的计算器计算逻辑,这里用示例值占位
        let result = 0; 
        println!("result: {}", result);
        
        println!("do you want to do another operation(y/n)? ");
        let mut answer = String::new();
        io::stdin().read_line(&mut answer).expect("failed to read line");
        
        if answer.trim() == "n" {
            println!("ok, goodbye!");
            break;
        }
    }
}

内容的提问来源于stack exchange,提问作者alvinn011

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 23:45:14