浮点数格式控制符
int main(void)
{
//浮点数16进制p-记数法
printf("浮点数p-记数法:%a\n", 100.0);
printf("浮点数p-记数法:%A\n", 123.0);
//浮点数e-记数法
printf("浮点数e-记数法:%e\n", 100.0);
printf("浮点数e-记数法:%E\n", 123.0);
//浮点数十进制记数法
printf("浮点数十进制记数法:%f\n", 123.0);
printf("浮点数十进制记数法:%F\n", 123.0);
//根据数值不同自动选择%f或%e
printf("浮点数自动记数法:%g\n", 123.0);
printf("浮点数自动记数法:%G\n", 123.0);
//long double型浮点数
printf("long double型浮点数:%Lf\n", 123.0);
printf("long double型浮点数:%LF\n", 123.0);
//浮点数小数点精度控制
printf("2位精度:%.2f\n", 3.14156);//3.14
printf("4位精度:%.4f\n", 3.14156);//3.1416
system("pause");
return 0;
}
整数格式控制符
int main(void)
{
int value = 0x12345678;
//无符号八进制整数
printf("无符号八进制整数:%o\n", 123);
//char类型整数
printf("char类型整数:%hhu\n", value);
printf("char类型整数:%hhd\n", value);
printf("char类型整数:%hhx\n", value);
//short类型整数
printf("short类型整数:%hu\n", value);
printf("short类型整数:%hd\n", value);
printf("short类型整数:%hx\n", value);
//int类型整数
printf("int类型整数:%u\n", value);
printf("int类型整数:%d\n", value);
printf("int类型整数:%x\n", value);
//long类型整数
printf("long类型整数:%lu\n", value);
printf("long类型整数:%ld\n", value);
printf("long类型整数:%lx\n", value);
//long long类型整数
printf("long long类型整数:%llu\n", value);
printf("long long类型整数:%lld\n", value);
printf("long long类型整数:%llx\n", value);
//intmax_t类型整数
printf("intmax_t类型整数:%ju\n", value);
printf("intmax_t类型整数:%jd\n", value);
printf("intmax_t类型整数:%jx\n", value);
//ptrdiff_t类型整数
printf("intmax_t类型整数:%tu\n", value);
printf("intmax_t类型整数:%td\n", value);
printf("intmax_t类型整数:%tx\n", value);
//size_t类型整数
printf("size_t类型整数:%zd\n", value);
printf("size_t类型整数:%zu\n", value);
printf("size_t类型整数:0x%zx\n", value);
//windows平台下专用说明符%I64,表示64位整数
printf("windows平台64位整数:%I64d\n", value);
printf("windows平台64位整数:%I64u\n", value);
printf("windows平台64位整数:0x%I64x\n", value);
system("pause");
return 0;
}
正数相关格式控制符
int main(void)
{
//使用+号且值为正的有符号数时,在值前面显示+号
printf("%+d\n", 10);//+10
printf("%+d\n", -12);//-12
printf("%+f\n", 10.0);
printf("%+f\n", -12.0);
//使用空格且值为正的有符号数时,在值前面显示空格
printf("% d\n", 10);// 10
printf("% d\n", -12);//-12
printf("% f\n", 10.0);
printf("% f\n", -12.0);
system("pause");
return 0;
}
字段宽度最小值
int main(void)
{
//最小长度为3,不足3则在左边补充空格
printf("%3d\n", 12);
//最小长度为10,不足10则在左边补充空格
printf("%10f\n", 0.1);
//最小长度为3,不足3则在左边补充0
printf("%03d\n", 12);
//最小长度为10,不足10则在左边补充0
printf("%010f\n", 0.1);
system("pause");
return 0;
}
左对齐
int main(void)
{
printf("start=>%-8d<=end\n", 123);//start=>123 <=end
system("pause");
return 0;
}
其它格式控制符
int main(void)
{
//指针
int value = 100;
printf("指针:%p\n", &value);
//字符
printf("字符:%c\n", 0x33);
//字符串
printf("字符串:%s\n", "hello");
//百分号
printf("百分号:%%\n");
//八进制整数前加上0
printf("%#o\n", 123);
//十六进制整数前加上0x或0X
printf("%#x\n", 123);
//浮点数一定使用小数点
printf("%.0f\n", 1.0);
printf("%#.0f\n", 1.0);
system("pause");
return 0;
}