如果(a == b)如何运行代码循环,如果没有“else”,则不要循环!= b

时间:2012-02-14 12:31:10

标签: c++ visual-c++


这是应该如何工作:

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!!!

6 个答案:

答案 0 :(得分:11)

您可以设置循环限制。

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

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

答案 1 :(得分:4)

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

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

答案 2 :(得分:2)

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

答案 3 :(得分:2)

首先运行代码一次,如果满足条件,则运行循环(如果需要,调整循环表达式)。如果可能,请使用函数不重复代码。

run_code_one_time;

if (a == b) {
    your_loop;
}

// no else

答案 4 :(得分:2)

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

a==b将设为10,否则为

其他方式

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

a==b将设为0,否则为

答案 5 :(得分: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