【C语言】printf的高级用法

本文详细介绍了printf函数的功能,包括多进制转换、输出占位宽、左右对齐的控制,以及*号的特殊用法。同时,讲解了printf的返回值及其应用实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、printf可以实现多进制转换

转义字符:%d(十进制)、%o(八进制)、%x(十六进制)。
int a = 10; /* 缺省的int定义声明为十进制 */
printf("%d %o %x",a,a,a); /* 输出不同进制的结果 */

二、printf可以控制输出占位宽、左右对齐

例子: printf("%10d",a); 中的10表示占10个字节的长度。
ps:想实现左对齐用-10,右对齐用10。

三、*号的用法

1. *在printf里表示一个泛整数,在printf括号里双引号外必须有与其对应的数值
2. *可以紧跟%的后面,也可以放在%.的后面
例子:
/* 第一个例子 */
int a = 8;
int pai = 3.14;
printf("%*.2f",a,pai); // *占的位置用a代替,即占8个字节的长度

/* 另一个例子 */
int changdu = 4;
int jingdu = 2;
int pai = 3.14;
printf("%*.*f",changdu,jingdu,pai); /* 输出结果是右对齐的,如果需要左对齐,在第一个*前加负号即可,即 %-*.*f */

四、printf的返回值的作用及用法

  1. printf的返回值是一个整数类型,为打印的字符个数
  2. 例子:
float pai = 3.14;
int b;

b = printf("%.2f\n",pai); /* b接收的值是该行printf的返回值,与位宽概念一致,所以b的值为5(小数点算一个,\n也算一个,加上三个阿拉伯数字)*/
printf("%d",b); /* 打印结果为5 */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值