打印整数 %d、%hd、%ld、%lld %d:打印十进制整数 %hd:打印十进制short %ld:打印十进制long %lld:打印十进制long long %u、%hu、%lu、%llu %u:打印十进制整数(无符号) %hu:打印十进制short(无符号) %lu:打印十进制long(无符号) %llu:打印十进制long long(无符号) 【说明】 作者平常使用VC6.0简单测试环境,其中int和long占用4字节,且long long类型不支持。 而据文档说明,64位环境long应占用八字节,那么在高版本的VS中应该成立。 然而实际是long依然占用4字节,为什么呢?原因在于微软使用的LLP64数据模型LLP64数据模型 参考图示: LLP64指:long long和pointer使用64位。因此long和int还是使用4字节。 当用格式打印整数时,如果格式范围小于数据,比如用%hd打印一个比较大的int数,实际是截短了数据。