Оператор "==" вне "if" (C++) (Как понимать следующий код) Как понимать следующий код? int c = (fieid[1][1] == 0);
А дальше используется так:
if (c)
fieid[1][1]=i;
Ниче не понимаю - с это ж int....
А дальше используется так:
if (c)
fieid[1][1]=i;
Ниче не понимаю - с это ж int....
целочисленной переменной С присвоить значение 1 если значение из массива с индексом 1.1 будет равно нулю, и 0 если оно не равно
Подробней.
Если значение
fieid[1][1] будет равно нулю, то переменная С станет равна единице
fieid[1][1] будет др. значение, то переменная С станет равна нулю
А вот так в Си. И не только. 0 - ложь, не ноль - истина.
Ну так если field[1][1] ненулевой, то они оставляют его, как есть.
А если нулевой, то меняют его на значение i. Что такое i и как оно рассчитывается, у Вас не написано.
Если смущает, что для c вместо bool используется int, то не смущайтесь. В C (без ++) никакого bool-а не было. Появился ли он недавно - не знаю. Так что использование интов вместо булов можно либо списать на совместимость с Си, либо на исторические причины.