int ,signed int 定义有符号的整形变量,数据有正有负, 这种数据输出的时候用%d
unsigned int 定义无符号的整形变量,数据只有正数,这种数据输出的时候用%u
int, signed int, unsigned int, 这三个是数据类型。
%u %d 是用于格式化输入输出的格式字符串。
一、数据类型。
1、 int为整型类型,根据编译器不同, 16位编译器int占2字节,32位编译器和64位编译器,int占4字节。
2、signed int, 其中的signed为有符号数。 默认int即为有符号,所以signed int和int是等效的,写作int即可。
3、 unsigned int为无符号型, 最高位不是符号位,而同样是数据位。 所以unsigned int只表示非负整数。unsigned int占内存字节数与int相同。
二、格式化字符串。
1、%d用来输出int类型。
2、%u用来输出unsigned int类型。
3、需要注意的是,当格式化字符串%d或%u与后续的值不匹配时,会按照格式化字符串转换。 即如果在32位或64位编译器中,以%d输出2147483648u时, 实际会输出-2147483648。 而如果以%u输出-1, 那么实际会输出4294967295。