Поскольку в C int
выражения могут использоваться вместо логических выражений, где 0 равно false, а все остальное - true, if(puzzle[row][column])
- идиоматический способ записи
if(puzzle[row][column] != 0)
Я предпочитаюпоследний, потому что первый действительно сбивает с толку людей, не знакомых с идиомой.
Если число существует в этой позиции, оно будет продолжаться?Для этого я бы подумал использовать! = Null
Значения в ячейке являются числами - int
s на самом деле.Он использует ноль в качестве соглашения для "еще не заполнен".Если бы значения в массиве были указателями, я бы согласился с if(puzzle[row][column] != NULL)
, но они не являются указателями.