在那种情况下更好 - "for"或"while"

hel*_*hod 0 c c++

我已经读过一个地方,for当你迭代某种数组/序列/列表/你调用它时,你应该使用一个循环,当你的循环需要在某个条件下停止时,我应该使用while循环.

那么,如果我有这样的东西怎么办?

int len = 0;

for(; s[len] != '\n'; ++len) {
    // some processing

    if (someCondition) {
        return len;
    }
} 

// if done iterating, return len
return len;
Run Code Online (Sandbox Code Playgroud)

for在这种情况下可以使用循环还是while循环更好?

Ste*_*sop 5

我可能会这样写:

int len;
for (len = 0; s[len] != '\n'; ++len) {
    ...
}
return len;
Run Code Online (Sandbox Code Playgroud)

正因为那时我在for声明中说了我感兴趣的范围(索引0直到第一个换行符).

我一般选择forwhile的代码是什么样子,而不是对的基础上,我站在吹毛求疵语义的说法不同的是"某种范围"之间有什么VS"从现在到一些条件是假的时期".我认为玩这个游戏并不是一个问题for.声明的第三部分是"特别可见的",因为while循环结束时的增量不是,我认为这足以证明使用它像一个空的第一部分那样的小的扭曲.