gpt4 book ai didi

c++ - for循环中超过2个条件?

转载 作者:太空狗 更新时间:2023-10-29 22:54:39 37 4
gpt4 key购买 nike

想知道是否有一种方法可以在 for 循环中比较 3-4 个条件?有没有办法只用一个 for 循环来做到这一点,或者我是否需要在循环中添加一个 if 语句来控制不打印 91 - 96?

我试过添加一个初始条件,将两者和它们都用括号括起来,但似乎无法让它打印超过 90 并在 97 处拾取。

for (int cntr = 65; cntr >= 65 && cntr < 91 || cntr > 96 && cntr < 122; cntr++)

for (int cntr = 65; cntr < 91 || cntr > 96 && cntr < 122; cntr++)

尝试打印 65 到 122 的 ASCII 字符而不显示 90 到 96。如果可能的话,试图在一个 for 循环中得到所有的东西。

最佳答案

正如其他人所指出的,中心条件是 break 条件。正如您希望在一个循环中完成所有操作一样,您不想在到达 cntr == 91 时中断。

这里有一种在一个循环中巧妙地完成它的方法(C++ 风格):

for (char cntr = 65; cntr < 123; cntr++)
{
if ( cntr == 91 ) // skips the parts that you don't want
cntr = 97;

std::cout << cntr << std::endl;
}

更一般地说,有时您可能在一个循环中有多个真正的中断条件,但最好将其中的一些/大部分保留在 for 循环的第一行之外,即。 for ( ... ; ... ; ... ),因为它没有必要,而且通常更难阅读。您可以只在循环开始时写一个中断条件(即第 2 行):

for ( i = 0; break_condition_1; ++i)
{
if ( break_condition_2 || break_condition_3 )
break;

// loop code
}

关于c++ - for循环中超过2个条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54604183/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com