При условии, что все тесты пройдут , ваш код фактически эквивалентен следующему:
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
в начале, вы получите отрицательный индекс, что, вероятно, плохо.