if(y-- > 0 && matriz[x][y--]!=9 && matriz[x][y--]!=0)
当我这样做时,我的变量 y 不会减少,对吧?我可以做这个比较 y--> 0
想象一下,我有y = 0,我想比较是否-1> 0
由于
答案 0 :(得分:5)
假设所有测试都通过,您的代码实际上与此相同:
if (y > 0)
{
y--; // post-decrement
if (matriz[x][y] != 9)
{
y--; // post-decrement
if (matriz[x][y] != 0)
{
y--; // post-decrement
// all true
}
}
}
如果有任何失败,你仍然会减少(等价将在else子句中),但为了简洁我省略了。
希望这足以澄清。我发现它非常笨拙,如果y < 2
一开始你会得到一个负面的索引,这可能是一件坏事。
答案 1 :(得分:1)
如果y=0
,则不会评估您的最后两个条件,因为第一个条件将失败。
如果您希望第一次比较为-1>0
,则需要减少前缀:--y > 0
答案 2 :(得分:0)
是的,你可以进行比较。你为什么要写这样的代码?请写下可以读取的内容,这是可以理解的。