我想写这样的东西,但我不确定如何写。
for(int i = 0; i < ( the greater value between intA and intB ); i++)
最佳答案
for
语句中间的表达式的工作原理与任何if
语句完全相同;仅当表达式的值为真时,循环才会继续。因此,有几种逻辑上等效的方式来编写您想要的内容:
// using a ternary operator
for (int i=0; i < ((intA > intB) ? intA : intB); ++i)
{
// do stuff
}
// using a simple Boolean OR
for (int i=0; i < intA || i < intB; ++i)
{
// do stuff
}
// using a MAX macro
for (int i=0; i < MAX(intA, intB); ++i)
{
// do stuff
}
但是在您的特定情况下,这些都不是理想的,因为前两个并不是真正的清晰代码,并且它们在循环的每次迭代中都评估
intA
和intB
。更好的是:int maxAB = MAX(intA, intB);
for (int i=0; i < maxAB; ++i)
{
// do stuff
}
关于objective-c - 如果在for循环中声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7449430/