c语言中的输出操作相对java来说是比较麻烦的,每种数据类型的输出都有各自的占位符;
下面是各种数据类型的输出占位符:
- short/int : %d
int a = 1; printf("这个整数是:%d", a);
- long: %ld; (long 是int得修饰,不能算是一种单独的数据类型,只是比int多了四个字节的存储空间)
- long long: %lld
- char : %c
- float/double : %f float默认是6位小数输出;可以在%f中控制;例如:%.2f:输出两位小数;
- char *s(字符串) :%s
- unsigned: %u (signed:有符号类型, unsigned:无符号类型;默认都是有符号的)
- 八进制:%o 以0开头
- 十六进制:%x 以0x开头
int a = 10; printf("a的八进制输出是:%o \n", a);//输出是12 printf("a的十六进制输出:%x \n", a);//输出是a
- 二进制的输出没有占位符,只能通过其他方法;具体的在博客关于二进制的输出中
- 地址值/指针值:%p
*:取指针里地址指向的地方的值,&:取改值存储位置的地址值