下面是各种数据类型的输出占位符:
-
short: %hd
-
int :%d
-
unsigned int : %u
-
unsigned short : %hu
-
long: %ld; (long 是int得修饰,不能算是一种单独的数据类型,只是比int多了四个字节的存储空间)
-
unsigned long : %lu
-
long long: %lld
-
char : %c
-
float: %f/ %gfloat默认是6位小数输出;可以在%f中控制;
例如:%.2f:输出两位小数;
%g用来输出实数,它根据数值的大小,自动选f格式或e格式
- double %lf和%lg
- char *s(字符串) :%s
输出是:beijing
如果printf(("%4s", "hi")
那么输出是: hi (前面有两个空格)
4s表示,如果不足四个字符,那么用空格在左边补齐。如果超过了4个,按照原样输出
-
unsigned: %u (signed:有符号类型, unsigned:无符号类型;默认都是有符号的)
-
八进制:%o 以0开头
-
十六进制:%x 以0x开头
-
二进制的输出没有占位符,只能通过其他方法;
-
地址值/指针值:%p
-
*:取指针里地址指向的地方的值,&:取改值存储位置的地址值