#include <stdio.h> void main() { unsigned int x = -5; printf("%d", x); }
结果为什么是-5,不是unsigned么,它在二进制中是怎么操作的,不会变成比5大的数吗。,
因为就是-5啊,你输出的是【%d】,表示把x当成按照有符号整数格式输出。你要是想要按照无符号输出,应该是【%u】,结果就是4294967291