如图所示代码:

代码运行结果为:

这是什么原因呢?
解析:
因为unsigned int是无符号整形,而我们的for循环的条件是

所以我们会一直循环下去,至于我们的结果为什么会是

一个unsigned int类型是4个字节,38位,那么它的最大值应该是32个1
1111 1111 1111 1111 1111 1111 1111 1111
这个二进制转成十进制之后应该是:

4294967295
我们都知道,假如不看符号,无限打印下去的话结果应该是这样的:

我们发现值越来越小,而我们Unsigned int是无符号数,是要看符号的,但是我们仍然要让它往下走结果越来越小,那么我们从4294967295这个最大值开始,向下依次减1,让它越来越小

那么如果按照%d来打印呢

我们发现虽然还是Unsigned int,但是结果是按照%d来打印的
第二个代码:

运行结果为:

解析:
