【发布时间】:2022-01-06 15:01:04
【问题描述】:
我编写了一个程序来接受和打印,但在接受二维数组时出错。
错误:-
线程“主”在“Err 值上调用 Result::unwrap() 时惊慌失措:ParseIntError { kind: InvalidDigit }”,test1.rs:15:39
注意:使用RUST_BACKTRACE=1 环境变量运行以显示回溯
use std::io;
fn main() {
let width = 3;
let height = 3;
let mut array = vec![vec![0; width]; height];
let mut input_text = String::new();
for i in 0..width {
for j in 0..height {
io::stdin()
.read_line(&mut input_text)
.expect("failed to read from stdin");
let trimmed = input_text.trim();
let t:u32=trimmed.parse().unwrap(); //error
array[i][j]=t;
println!("{:?}", array);
}
}
println!("{:?}", array);
}
输出:- 1
[[1, 0, 0], [0, 0, 0], [0, 0, 0]]
2
线程'main'在'调用Result::unwrap()Err值时恐慌:ParseIntError {种类:InvalidDigit}',test1.rs:15:39
注意:使用RUST_BACKTRACE=1 环境变量运行以显示回溯
【问题讨论】:
-
请花时间提供正确的minimal reproducible example。对于像“遇到一些错误”这样的问题陈述,不清楚究竟是什么问题。如果编译失败,请将编译器的完整错误消息 verbatim 发布到问题中。如果在执行过程中出现错误,请发布提供的输入和相应的错误输出。
-
如果没有适当的 MRE,很难回答,但如果我不得不猜测,我会说您在内部循环中错过了对
input_text.clear()的调用。 -
请修剪您的代码,以便更容易找到您的问题。请按照以下指南创建minimal reproducible example。
标签: arrays multidimensional-array rust 3d rust-tokio