C语言格式说明原型(%s %d %f %c %x %p)

C语言格式说明原型(%s %d %f %c %x %p)

被恶心到了

format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘uint32_t {aka unsigned int}’ [-Wformat=]
被这样的警告恶心过么?

虽然程序员常常忽略警告,但是每每会被一堆堆的警告恶心到。

格式说明符号与变量类型不统一的报错总是一堆堆的出现,强迫症程序员必须解决!

格式原型

%[flags][width][.precision][length]specifie

说明符 specifie

C语言格式说明原型(%s %d %f %c %x %p)_第1张图片

标记 flags

C语言格式说明原型(%s %d %f %c %x %p)_第2张图片

宽度 width

在这里插入图片描述

描述 precision

C语言格式说明原型(%s %d %f %c %x %p)_第3张图片

长度 length

C语言格式说明原型(%s %d %f %c %x %p)_第4张图片

划重点

类型 格式说明符
char* %s
int | int32_t %d
unsigned int | uint32_t %u
signed char | int8_t %hhd
unsigned char | uint8_t %hhu
short int | short | int16_t %hd
unsigned short int | unsigned short | uint16_t %hu
long int | long %ld
unsigned long int | unsigned long %lu
long long int | long long | int64_t %lld
unsigned long long int | unsigned long long | uint64_t %llu
float %f
double %f
size_t %zu

注意 int 位数不同机器上是不一样的。

你可能感兴趣的:(C/C++)