首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >printf输出函数与scanf输入函数里%md,%m.nd,%m.nf用法

printf输出函数与scanf输入函数里%md,%m.nd,%m.nf用法

作者头像
用户11956880
发布2025-12-18 18:03:21
发布2025-12-18 18:03:21
320
举报

一,printf输出函数里

 1  %md

 在printf输出函数里,%md,

1,m<真实输出值(即图片中a的值),则按照真实值输出。

2,当m>真实值,则运行出来的数向右对齐,例如如图,123左边两个空格

3,当m<0,则向左对齐。

总结    在printf输出函数中m为至少输出多少。

2  %m.nd

在printf输出函数中m代表m几个字符空间,并且向右对齐;n代表几个有效数字,如果n>真实输出,则用0补充。如上图。

%m.nf 

%f是float(单精度浮点型,小数点精确到后6位)型变量的占位符,

%m.nf中m代表输出数长,和上面一样仍然是至少输出多长,n代表小数的长度,仍然向右对齐

1,当m>真实输出值,如上图第9行,m=7,而实际上b的长度为5(因为n=2,所以小数长度就变成了2,再加上小数点和整数部分,实际长度就是5),所以向右对齐左边添上两个空格,使得总长为7,

并且看向数字的值,原来的数为12.345,在编译之后变为了12.35,这是因为n=2,要求取到小数点后两位,并且进行四舍五入

2,当m<真实输出值,如上图第10行,m=3,而实际长度为5,前面就没有空格

3,第5和6行的printf输出函数,第一个小数点后面为6个0,第二个则5个0.由于n=5,代表后面小数点后面只取到5.

总结  注意在printf函数中输出为至少输出多少

二scanf输入函数里

1,%md

在scanf中m才是代表着至多的意思,如上图m=3,则代表编译器最多读取a的值前3位.

1,当m>真实输入值,如图二因为在scanf中m为至多,所以不会发生变化.

2当m<真实输入值,如图一,只读取了123.

2,在scanf中不存在%m.nd或者%m.nf

如果这样输入任何书都会出现输出随机数.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-12-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档