Странный цикл с size_t

Я не вхожу в цикл, используя size_t, Зачем?
Если я использую int Я вхожу в цикл, и вывод: 11, 11

int main()
{
int j = 11;
for (size_t i = 11; i > - 1; --j, i -=12)
{

std::cout << i << ", " << j << std::endl;

}
return 0;
}

0

Решение

size_t обычно это значение без знака. В вашем состоянии для цикла вы говорите i > -1, поскольку i тип без знака, -1 преобразуется в этот тип и будет иметь максимальное значение для этого типа.

Благодаря продвижению вы эффективно сравниваете 11 (начальное значение i) с максимальным значением для size_t и результат ложен, таким образом, цикл никогда не вводится.

7

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]