%u是输出unsigned int类型,-1转化为unsigned int类型,就是这个很大的整数
解释的很全了 https://stackoverflow.com/questions/27547377/format-specifier-for-unsigned-char
你先别忙着研究int和uint那么大的类型
就说char和unsigned char,一个表示范围-128到127,一个是从0到255
-1就是255,这个你先理解了再说,还不理解回去复习c语言基础里关于变量如何以二进制存储的相关章节
%d表示以int方式打印,%u表示以unsigned int方式打印,这就是区别