这是应该如何工作:
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!!!
答案 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