for循环的实际缺点是什么?不,我的意思是认真的。必须有一些正确的事情。有while和while while循环,都有效,但我们有一个for循环。在for循环中必然会有一些缺点,因为while和while会被开发出来,对吗?
答案 0 :(得分:3)
不,while
循环是制作循环的基本结构,如果你愿意的话,基于条件的getos或汇编跳转。但是,因为以下代码一直在编写数组:
int i = 0;
while (i < N)
{
//do something, probably access an array
i++;
}
他们创建了一种更清晰,更易读的方法:
for(int i = 0; i < N; i++)
{
//do something
}
这是所谓Syntactic sugar的一个例子。
因为没有固有这些事情存在的原因,Alan Perlis的名言是“语法糖导致分号的癌症”。
话虽如此,你总是要努力争取更易读的代码,所以去吧。
答案 1 :(得分:2)
根本没有任何不利之处。我认为Go语言取消了while(),它只用于()。
答案 2 :(得分:0)
尽管while(cond){...}和for(; cond;){...}是等价的。但是,在没有计数器和增量表达式的情况下以这种方式编写for循环是很奇怪的。为了使代码更容易阅读,您应该使用原始和自然格式的for循环。即,(counter; cond; expr)。如果你可以根据特定表达式的评估迭代你的循环体,那么你应该坚持使用while循环。
答案 3 :(得分:-1)
缺点可能是,只有for
循环“while(cond) { /* do something*/ }
”是无效代码......: - )