本文介绍了是否有过需要一个"做好{...}而()"循环?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Bjarne的Stroustrup的(C ++创建者)曾经说过,他避免了做/而循环,prefers写code在while循环的角度来代替。 [参见下面的报价。]
由于听到这话,我发现这是真的。你怎么看?有一个例子,其中一个做/而更干净,更容易比你用来理解,而呢?
在回应一些问题的答案:是的,我明白了做/而和,而之间的技术差异。这是关于可读性和结构code,涉及循环一个更深层次的问题。
让我问另一种方式:假设你正在使用做/而禁 - 有一个现实的例子,这将给你别无选择,只能使用,而
写不洁code?从C ++程序设计语言,6.3.3:
解决方案
Yes I agree that do while loops can be rewritten to a while loop, however I disagree that always using a while loop is better. do while always get run at least once and that is a very useful property (most typical example being input checking (from keyboard))
#include <stdio.h>
int main() {
char c;
do {
printf("enter a number");
scanf("%c", &c);
} while (c < '0' || c > '9');
}
This can of course be rewritten to a while loop, but this is usually viewed as a much more elegant solution.
这篇关于是否有过需要一个&QUOT;做好{...}而()&QUOT;循环?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!