当您由于无符号的int变量类型而在c中出现无限循环时会发生什么

时间:2018-12-11 02:14:12

标签: c memory infinite-loop unsigned

我知道它永远不会是负数,但是在“低于” 0之后内存中的值会如何处理?

示例:

unsigned int i = 3;

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

1 个答案:

答案 0 :(得分:0)

无符号操作数上的一元-运算符不会产生小于零的值。它产生一个值,当用普通的整数算术加到操作数上时,将产生一个加该类型可以表示的最大值的值。