作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我应该使用 for 还是 while 循环来查找链表中的最后一项?
Item * last = list;
for (; last->next; last = last->next) ;
对比
Item * last = list;
while (last->next)
{
last = last->next;
}
它是 2 行而不是 5 行,而且看起来几乎同样可读。为什么我总是只看到 while 形式?
最佳答案
Why I always see only the while form?
首选 while
形式有两个原因:
for
循环后的分号令人困惑,甚至完全错过分号,不了解发生了什么。 while
循环就没有这样的混淆。for
循环以及在循环外声明的循环变量提供了一个强有力的指示,表明您实际上需要一个 while
循环 - 循环变量的作用域是循环体。当您在循环外声明它们时,是因为您希望在循环结果中包含循环变量的结束值。关于c++ - For vs While 用于查找链表中的最后一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37363915/
我是一名优秀的程序员,十分优秀!