Rust 嵌套循环打印奇怪的结果
我试着检查一个2d向量,发现了一些奇怪的行为,我一直找不到解释Rust 嵌套循环打印奇怪的结果,rust,Rust,我试着检查一个2d向量,发现了一些奇怪的行为,我一直找不到解释 fn main() { let mut main_loop = vec![]; let mut x = 0; let board_x = 10; let mut y = 0; let board_y = 10; while y < board_y { let mut row = vec![]; while x < board_x {
fn main() {
let mut main_loop = vec![];
let mut x = 0;
let board_x = 10;
let mut y = 0;
let board_y = 10;
while y < board_y {
let mut row = vec![];
while x < board_x {
let v = random::<bool>();
println!("x:{}", x);
row.push(v);
x = x + 1;
}
println!("y:{}", y);
main_loop.push(row);
y = y + 1;
}
}
这不是应该打印x:1-x:10次吗?更奇怪的是,当我对每一行使用嵌套for循环对向量进行循环时,它在退出之前计算出60个索引。我错过了什么
这不是应该打印x:1-x:10次吗
为什么会这样?在完成内部循环后,您从未将x
设置回零
除此之外,这种迭代应该通过for
循环完成:
for x in 0..10 { ... }
[…]当我为每行使用嵌套for循环遍历向量时,它在退出之前计算出60个索引
我不知道;您没有发布该代码,我看不出有任何理由这样做。例如,请下次使用rustfmt正确格式化代码。
for x in 0..10 { ... }