Что происходит, когда у вас есть бесконечный цикл в c из-за неподписанного типа переменной int - PullRequest
0 голосов
/ 11 декабря 2018

Я знаю, что оно никогда не может быть отрицательным, но что происходит со значением в памяти после того, как оно уходит «ниже» 0?

пример:

unsigned int i = 3;

while(i >=0){
    print("something");
    i=-i;
}

1 Ответ

0 голосов
/ 11 декабря 2018

Унарный оператор - для беззнакового операнда не выдает значение ниже нуля.Он создает значение, которое при добавлении к операнду в обычной целочисленной арифметике дает единицу плюс максимальное значение, которое может представлять тип.

...