为什么x等于4294967295等于负一 而u就是正常的呢?%u不是直接输出u的数值吗
首先 你定义的x 是 int类型 输出时 却分为了 %u (无符号十进制整数)和 %d(有符号十进制整数) 两种情况 而u 定义的是无符号十进制整数 输出的也是无符号十进制整数 所以会是这样的输出结果 【望采纳】
4294967295只有无符号整型才能存的下,int类型存储不下,变成负数了
%d是按有符号int输出的
%u是输出无符号十进制整数。整数是32位的,占4个字节,-1的十六进制表示为0xFFFFFFFF,如果把它看成无符号整数,就是十进制的4294967295。