Если вы хотите, чтобы при условии l oop
for (unsigned i = 0; i < 3; i++) {
if (i == 2) i = -1;
}
сравнивались UINT_MAX
с 3
, вы должны написать
for (unsigned i = 0; i < 3; i++) {
if (i == 2) i = -2;
}
В этом случае увеличивая i
, вы получите UINT_MAX
. В противном случае, если i
уже содержит UINT_MAX
, то, увеличив его в выражении l oop i++
, вы получите 0 и, как результат, бесконечное l oop.
Или вы можете написать, например, следующим образом
for (unsigned i = 0; i < 3; i++) {
if (i == 2) i = ~i;
}