printf!怎么用!还能怎么用!

printf!怎么用!还能怎么用!

2020.10.28
printf(“格式控制字符串”,输出列表)

格式控制字符串包括:
[附加符]、[输出最小宽度]、[.精度]、[长度]、[格式字符]

一、附加附(也称标志)

–:结果左对齐
+:输出符号
(空格):输出为正时添加空格,为负时添加负号

#include <stdio.h>
int main(){
int a=5,b=-5;
printf("%d║%+d║%-d║% d\n",a,a,a,a);
printf("%d║%+d║%-d║% d\n",b,b,b,b);
	return 0;
}

输出:
5║+5║5║ 5
-5║-5║-5║-5

二、输出最小宽度

用十进制整数来表示输出的最少位数。 若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或 0。

#include <stdio.h>
int main(){
int a=12345678,b=-12345678;
printf("%d║%5d║%10d\n",a,a,a);
printf("%d║%5d║%10d\n",b,b,b);	
return 0;
}

输出:
2345678║12345678║ 12345678
-12345678║-12345678║ -12345678
显然的,负号占了一位

三、.精度

精度格式符以“.”开头,后跟十进制整数。本项的意义是:
如果输出数字,则表示小数的位数;
如果输出的是字符,则表示输出字符的个数;
→→→若实际位数大于所定义的精度数,则截去超过的部分。

注意!输出最小宽度不会删除超出部分,但精度会删除

#include <stdio.h>
int main(){
float a=12.3456789;
char b[]="hello word";
printf("%f║%.1f║%.5f║%.10f\n",a,a,a,a);
printf("%s║%.1s║%.5s║%.10s\n",b,b,b,b);
return 0;
}

输出:
12.345679║12.3║12.34568║12.3456792831
hello word║h║hello║hello word
对于数字,超出部分是不精确的,比如输出第一行最后一个的倒数后四位

长度

长度分为H/h和L/l,分别是短型和长型

综合示例

#include <stdio.h>
int main(){
float a=12.3456789,b=-12.3456789;
int c=123456789,d=-123456789;
printf("%3f║%3.3f║% 3.3f\n",a,a,a);
printf("%3f║%3.3f║% 3.3f\n",b,b,b);
printf("%3d║%3.3d║% 3.3d\n",c,c,c);
printf("%3d║%3.3d║% 3.3d\n",d,d,d);
printf("%d║%ld║%hd\n",c,c,c);
printf("%d║%ld║%hd\n",d,d,d);
printf("%11d║%+11d║%-11d║% 11d\n",c,c,c,c);
printf("%11d║%+11d║%-11d║% 11d\n",d,d,d,d);
return 0;
}

输出:
12.345679║12.346║ 12.346
-12.345679║-12.346║-12.346123456789║123456789║ 123456789-123456789║-123456789║-123456789123456789║123456789║-13035-123456789║4171510507║13035 123456789║ +123456789║123456789 ║ 123456789 -123456789║ -123456789║-123456789 ║ -123456789

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

笨笨2019

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值