如何输出类型为uint_16,uint_32,uint_64等类型的变量

编程过程中遇到警告:

uint64_t a=1;
printf("uint64_t a=%f",a);
warning: format ‘%f’ expects argument of type ‘double’, but argument 2 has type ‘uint64_t’


修改如下:

printf("uint64_t a=%" PRIu64,num);

在inttypes.h中可以看到PRIu64等的声明:

#define PRIu8 "u"
#define PRIu16 "u"
#define PRIu32 "u"
#define PRIu64 "I64u"


有符号数int_8,int_32等也有类似的地方。



>#define PRId8 "d"
#define PRId16 "d"
#define PRId32 "d"
#define PRId64 "I64d"




你可能感兴趣的:(编程,printf,uint_32)