繁体   English   中英

为什么 c++(和大多数其他语言)同时具有“for”和“while”循环?/你可以用一种类型做什么而你不能用另一种类型做什么?

[英]Why does c++(and most other languages) have both 'for' and 'while' loops?/What can you do with one type that you can't with the other?

为什么大多数编程语言都有两种或两种以上几乎没有区别的循环? 在 c++ 中,对于特定任务,两者中的哪一个更好? switchesif怎么样? 那里有什么区别吗?

如果没有,那么将不胜感激关于为什么实施它们的答案。

没有什么可以用一种类型做而不能用另一种类型做的,因为它们之间存在机械转换:

while (X) { body; }

可以写成

for (;X;) { body; }

for (A;B;C) { body; }

可以写成

{ A; while (B) { body; C; } }

唯一的区别是可读性。 for 循环将更新表达式C放在循环的顶部,使其更容易识别某些模式,例如在数字范围内循环:

for( i = 0; i < limit; ++i )

或遵循链表

for( ; ptr != nullptr; ptr = ptr->next )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM