printf格式化输出

文章详细介绍了C99中printf函数的格式化输出,包括%d,%g,%f,%s等占位符的使用方法,以及如何控制对齐、宽度、精度和字符处理。

修饰词

%hh (需要C99后)限定输出格式为8位,即1个字节
%h限定输出格式为16位,即2个字节
%l限定输出格式为32位,即4个字节
%ll限定输出格式为64位,即8个字节

占位符

空白符包括回车符\r, 换行符 \n, 制表符 \t(Tab)。

%g输出实数(f格式或e格式),系统根据数据占宽度m大小,自动选择占宽度较小的某种格式输出,不输出小数点后无意义的零,默认宽度为6。
%d整型(int)输出
%ld长整型(long)输出
%s输出字符串(char数组),遇'\0'停止。输入时,遇空白字符停止。
%cchar型,输出一个字符
%p16进制打印指针的值
%f单精度浮点型(float),默认情况下保留小数点6位,如1.000000。
%lf是双精度浮点型,默认情况下保留小数点6位,通常用来输出double型
%e以指数形式输出实数
%o以八进制数形式输出整数
%x以十六进制数形式输出整数,或输出字符串的地址

  • %10d右对齐,%-10d左对齐,默认空格填充,%05d有0标志用0填充。

  • “%”与字母之间可以插入数字表示场宽,如%2d表示输出2位整型数,不够2位右对齐

  • %.2f用来输出小数,保留两位小数,如1.00

  • %g,%e,%f都会在精度的下一位四舍五入

  • %g默认保留六位有效数字输出

  • scanf("%s",s);这里不能有&符号。

  • %m.ns。输出占m列,但只取字符串中的左端n个字符,这n个字符输入输出在m列的右则,左则补空格。

    -%m.ns。n个字符输出在m列的左侧,右侧补空格。  

注意:%d%u有无符号的数值范围,也就是极限的值,不然数值打印出来会有误

//dev-c++
#include <stdio.h>
int main(){
	printf("%3s,%7.2s,%.4s,%-5.3s\n","china","china","china","china");
	printf("%g,%g\n",5,6.0);
	printf("%g,%g,%g\n",9.555555,123.55555,1234567.6666);
    return 0;
}
//china,     ch,chin,chi
//2.47033e-323,6
//9.55556,123.556,1.23457e+006

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cllsse

富✌您吉祥

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值