Rust踩雷笔记(6)——C++菜鸟弄出的一个bug

此次文章比较短,就记录我犯的一个错误,开门见山(大佬请忽略)

for mut k in 0..n {
	while xxx {
		k += 1;
	}
	yyy;
}

期望的逻辑是对k循环,但是在循环中,如果满足xxx条件,则k直接增加1.

同样开门见山,这个逻辑的bug在于,不管while跳过多少次k,在for中,k雷打不动从0每次递增1.

正确的写法可以采用别的方式,比如:

let mut k = 0;
while k < n {
	while xxx {
		k += 1;
	}
	yyy;
	k += 1;
}

应该是我这几年造的最逆天的bug了…

你可能感兴趣的:(Rust从入门到入门,笔记,bug)