大家好,又见面了,我是你们的朋友全栈君。
1、格式化输出字符:
%d 十进制有符号整数
%ld 十进制long有符号整数
%u 十进制无符号整数
%o 以八进制表示的整数
%x 以十六进制表示的整数
%f float型浮点数
%lf double型浮点数
%e 指数形式的浮点数
%c 单个字符
%s 字符串
%p 指针的值
2、特殊应用:
%5d 要求宽度为5位,如果不足5位,前面空格补齐;如果足够5位,此语句无效。
%05d 要求宽度为5位,如果不足5位,前面0补齐;如果足够5位,此语句无效。
%-5d 要求宽度为5位,如果不足5位,后面空格补齐;如果足够5位,此语句无效。
%.2d 小数点后只保留2位小数。
#include <stdio.h>
// 格式化输出字符的使用
int main()
{
// 1、输出整数
int a = 100;
// ①输出十进制数 用%d
printf("a = %d\n", a);
// ②输出八进制数 用%o
printf("a = %o\n", a);
printf("a = %#o\n", a); // 使用%#o,可以输出八进制数的前导符(0)
// ③输出十六进制数 用%x
printf("a = %X\n", a);
printf("a = %#x\n", a); // 使用%#x,可以输出十六进制数的前导符(0x)
// 输出浮点数数据
// 默认小数点后保留6位,并且可以四舍五入,如果不够6位自动补0
float b = 3.1415926;
double c = 1234.1234;
printf("b = %f\n", b);
printf("c = %lf\n", c);
// 输出字符,使用%c输出字符,使用%d可以输出字符的ASCII码值
char d = 'y';
printf("d = %c, d's ASCII:%d\n", d , d);
// 输出字符串
// 没有专门的变量保存字符串,一般使用数组来保存
char e[] = "Hello World!";
printf("%s\n", e);
// 输出地址,使用%p
int f = 999;
// &:取一个变量的地址,一般地址用十六进制数标识
printf("&f = %p\n", &f);
printf("======================================\n");
int m = 456;
printf("%d%d\n", m, m);
// %5d:输出的宽度为5,右对齐,如果实际数据的宽度小于5,则左边位置补空格,如果大于5,则没有用
printf("%5d%5d\n", m , m);
// %05d:输出的宽度为5,右对齐,如果实际数据的宽度小于5,则左边位置补0,如果大于5,则没有用
printf("%05d%05d\n", m , m);
// %-5d:输出的宽度为5,左对齐,如果实际数据的宽度小于5,则右边边位置补空格,如果大于5,则没有用
printf("%-5d%-5d\n", m , m);
float n = 3.6789;
printf("n = %f\n", n);
// %.2f:小数点后保留2位小数,并且四舍五入
printf("n = %.2f\n", n);
// %5.2f: 输出的宽度为5,并且小数点后面为2位小数,如果实际数据长度小于5,左边补空格,如果大于5,则正常输出
printf("n = %5.2f\n", n);
return 0;
}
执行结果如下:
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/163857.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...