循环 n 次,除了最常用的 for (int i = 0; i < n; ++i) {...} 之外,还可以写 while (n-- > 0) {...} 和 while (--n >= 0) {...}。这两种写法的区别在于,如果 n 是 unsigned 类型,那么后面那种写法会导致infinite loop。今天就被这只小 bug 咬了一口:) 也怪自己偷懒,不爱写 for 循环。
while (n-- > 0) 与 while (--n >= 0)
博客介绍了循环 n 次的不同写法,除常用的 for 循环,还有 while (n-- > 0) 和 while (--n >= 0) 写法。指出若 n 为 unsigned 类型,后一种写法会导致无限循环,作者因偷懒不用 for 循环而遇到此 bug。

被折叠的 条评论
为什么被折叠?



