Я думаю, что только при быстром взгляде, потому что в вашем основном цикле for
вы увеличиваете i
только при определенных условиях, и вполне вероятно, что ни один из них или не выполняется, что означает, что i++
будетне вызывать.
Лучший способ убедиться в этом - поместить предложение else
, где вы правильно обрабатываете дело, распечатав сообщение или вставив утверждение, если вы никогда не достигнете этого случая.
В качестве меры предосторожности, когда у вас есть предложения if
/ else if
, у вас всегда должно быть предложение else
, в котором вы обрабатываете значение «если все остальное терпит неудачу», где вы либо правильно обрабатываете ошибку, или утверждайте, если код никогда не достигнет предложения else.
Также, в качестве примечания, вы должны рассмотреть возможность использования пробелов, чтобы сделать ваш код немного легче для чтения, например:
if (direction == 3 && walk[currenti + 1][currentj] == '.' && (currenti + 1) > 0 && (currenti + 1) < 10)