Objective c for循环中的If语句?
我想写这样的东西,但我不知道怎么写Objective c for循环中的If语句?,objective-c,ios,xcode,Objective C,Ios,Xcode,我想写这样的东西,但我不知道怎么写 for(int i = 0; i < ( the greater value between intA and intB ); i++) for(inti=0;i
for(int i = 0; i < ( the greater value between intA and intB ); i++)
for(inti=0;i<(intA和intB之间的较大值);i++)
使用三元运算符:
for(int i = 0; i < (intA > intB ? intA : intB); i++)
for(inti=0;i<(intA>intB?intA:intB);i++)
使用三元运算符:
for(int i = 0; i < (intA > intB ? intA : intB); i++)
for(inti=0;i<(intA>intB?intA:intB);i++)
使用tha MAX宏
MAX( a, b )
如果不可用,您可以定义它:
#define MAX( a, b ) ( ( ( a ) > ( b ) ) ? ( a ) : ( b ) )
使用tha MAX宏
MAX( a, b )
如果不可用,您可以定义它:
#define MAX( a, b ) ( ( ( a ) > ( b ) ) ? ( a ) : ( b ) )
for(inti=0;i<((a)<(b)?(a):(b));i++)
用于(int i=0;i<((a)<(b)?(a):(b));i++)
< /代码> 在<<代码>中的语句的表达式与< <代码> > <<代码>语句完全相同;只有当表达式的计算结果为true时,循环才会继续。因此,有几种逻辑上等效的方法来编写您想要的内容:
// 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
}
<> < <代码>中的< < /C> >语句的表达式与< <代码> > <<代码>语句完全相同;只有当表达式的计算结果为true时,循环才会继续。因此,有几种逻辑上等效的方法来编写您想要的内容:
// 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
}
我建议在每次执行for语句之前使用MAX宏或额外的if语句。使用三元运算符不够清楚,无法支持将来的维护。但这只是我的意见 我建议在每次执行for语句之前使用MAX宏或使用额外的if语句。使用三元运算符不够清楚,无法支持将来的维护。但这只是我的意见 奇怪的是你们就是这么看他的问题的,对我来说,if
在for
表达式之外的if
让我觉得他想测试结果值或其他什么。我想你的意思是for
而不是if
。@Blindy这个标题说明了一切……更像是一个IQ问题,而不是一个与编程相关的查询。。!!奇怪的是你们就是这么看他的问题的,对我来说,if
在for
表达式之外的if
让我觉得他想测试结果值或其他什么。我想你的意思是for
而不是if
。@Blindy这个标题说明了一切……更像是一个IQ问题,而不是一个与编程相关的查询。。!!这些括号都需要吗?嗯?我说的是括号,不是参数。。。抱歉:P在处理复杂表达式时需要括号,而不是变量。噢。。。赋值运算符和逗号运算符的优先级低于三元运算符。艾克,这些括号都需要吗?嗯?我说的是括号,不是参数。。。抱歉:P在处理复杂表达式时需要括号,而不是变量。噢。。。赋值运算符和逗号运算符的优先级低于三元运算符。您的条件或操作数是向后的。现在,如果a
较小,则三元运算符的值为a
条件运算符或操作数向后。现在如果a
较小,则三元运算符的值为a
+1良好答案。关键的一点是,for循环条件在每次迭代中都会被评估,因此,如果可能,可以避免像adpalumbo在上一个代码块示例中使用他的maxAB
变量那样进行不必要的评估。+1回答得好。关键的一点是,for循环条件在每次迭代中都会被评估,因此,如果可能,可以避免像adpalumbo在上一个代码块示例中使用他的maxAB
变量那样进行不必要的评估。