有人可以解释这个声明吗?

时间:2014-04-19 18:30:39

标签: if-statement

我是编程新手,有人花两分钟时间为我解释这个陈述吗?我该怎么写这样: if(condition){...} else {...}

if (myFunction(i == 8? (j + 1): j, (j + 1) % 9))
{
    return true;
}

1 个答案:

答案 0 :(得分:1)

使用两个参数调用该函数。第一个使用三元运算符来检查i(索引)是否为8;如果是,请增加j,否则请保留j

第二个参数按j递增1,它使用j+1周围的主表达式运算符,因为算术+的优先级低于模数(%){{ 3}}。如果j1且我们按1递增,则2 % 92,因为模运算会返回余数。这假定为C样式语法。

int arg1 = i == 8 ? (j + 1) : j;
int arg2 = (j + 1) % 9;

if (myFunction(arg1,arg2))
{
    return true;
}
else
{
    return false;
}