C ,循环,有2个条件,V.对于具有2个条件的循环

C++ while loop with 2 conditions, VS. for loop with 2 conditions?

本文关键字:条件 2个 循环 于具      更新时间:2023-10-16

如果我想通过字符串迭代,一旦找到字母" o"或字符串的末端,就停止,使用一定的循环检查是否有任何区别这两个条件,或有2条条件的循环?

const int STRING_SIZE = 16;
char str[STRING_SIZE] = "a bunch of words";

循环

for (int i = 0; i < STRING_SIZE && str[i] != 'o'; i++){
    //do something
}

循环

int i = 0;
while (i < STRING_SIZE && str[i] != 'o'){
    //do something
    i++
}

两者之间是否存在性能差异?一个比另一个更好吗?

两个循环之间的性能没有差异:

for()检查条件,然后如果执行其身体。因此,forwhile循环相似。

do-while循环工作略有不同:执行然后检查至少执行。