如何运行代码循环 if (a==b) 并且不循环如果 a != b 没有"else"

How to run code loop if (a==b) and dont loop if a != b without "else"

本文关键字:循环 如果 没有 else 何运行 if 运行 代码      更新时间:2023-10-16


这是应该如何工作:

if(a == b)
    // loop code
else
    // run code one time no loop

但我想要

if(a == b)
for(int i = 0; i < 10; ++i)  // if a is equal b begin loop
some_function();             // if a is not equal b run code one time

Solved!!!

您可以设置循环限制。

int limit = a == b ? 1 : 10;
for (i = 0; i < limit; ++i)
{
   ...
}

如果a==b,循环运行一次。如果a!=b、 循环运行您需要的次数(在您的情况下为10次)。

使用do {} while循环,因为它至少执行一次:

int i = 0;
do
{
} while (a == b && i++ < 9);

首先运行代码一次,如果满足条件,则运行循环(并在需要时调整循环表达式)。如果可能的话,使用一个函数来避免重复代码。

run_code_one_time;
if (a == b) {
    your_loop;
}
// no else

在一个方法中编写代码,在循环中多次调用它,如果之后,再调用一次。希望能有所帮助。

  int limit = (a==b)? 10 :1;
      for (i=0;i<limit;i++) {
           //your code
      }

如果a==b为0,则limit将被设置为10,否则

绕过

  int limit = (a==b)? 0 :9;
    for (i=limit;i<10;i++) {
         // your code
      }

如果a==b为9,则limit将设置为0,否则

int i=0;
while (a == b)
{
    // code for when a is equal to b
    i++;
    if(i == 10)
        a = b+1;
}
// code for when a is not equal to b executed once