c语言%m.nf m和n只能是十进制吗

作者&投稿:泣希 (若有异议请与网页底部的电邮联系)
C语言中,%m.nf,%nd这些m,n表示什么意思,求详细讲解!~

%m.n表示输出宽度为m且小数点后保留n位的字段,%n表示输出宽度为n的字段。
例如:
float p = 3345.67;int a = 732;
printf(“%3.1f”,p);
printf("%10.3f",p);
printf("%2d",a);
printf("%10d",a);
#3345.7#
#3345.670#
#732#
#732#

扩展资料:
字段(field)
一个成员,它表示与对象或类关联的变量。
在数据库中,大多数时,表的“列”称为“字段” ,每个字段包含某一专题的信息。就像“通讯录”数据库中,“姓名”、“联系电话”这些都是表中所有行共有的属性,所以把这些列称为“姓名”字段和“联系电话”字段。
但是有时候,字段也不是表中的列,比如用as将列的内容经计算,“存入”另一个字段。
参考资料来源:百度百科-字段

m,n相互之间的大小没有关系。
m是限定的小数点之前的位数,如果不足m,那么在左边用空格补齐到m个,如果超过m那么按照原样输出,ns是保留的小数点后的位数,如果不够n位,那么用0补够n位,否则截断到n位(四舍五入)

%nf 即输数字占n位 原数字位数于n原输原数字位数于n输数字左端补空格比原数字a=1.23456;n4输1.23456n9输
(空格空格1.23456)
二%n.mf 即输总共占n位其m位数 a=1.23456 用%4.2f输1.23用
%5,1f输123.4即度5数1!原数字度于n左端补空格规则!
n前面负号即%-nf或%-n.mf右端补空格!

是的,m和n只能是十进制的。


宜都市17523079841: c语言%m.nf m和n只能是十进制吗 -
禄波三协: %nf 即输数字占n位 原数字位数于n原输原数字位数于n输数字左端补空格比原数字a=1.23456;n4输1.23456n9输(空格空格1.23456) 二%n.mf 即输总共占n位其m位数 a=1.23456 用%4.2f输1.23用%5,1f输123.4即度5数1!原数字度于n左端补空格规则!n前面负号即%-nf或%-n.mf右端补空格!

宜都市17523079841: C语言中输出格式%m.nf的意思 -
禄波三协: 举个例子来说.比如 float i=10.1; printf("%7.2f",i);那么答应的结果就为: 10.10(包含空格在内占7位,小数占2位). 建议你多上机实验实验,很容易就会懂的.

宜都市17523079841: C语言中 %+字母 所有用法 -
禄波三协: 格式字符用以指定输出项的数据类型和输出格式. ①d格式:用来输出十进制整数.有以下几种用法: %d:按整型数据的实际长度输出. %md:m为指定的输出字段的宽度.如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输...

宜都市17523079841: 高手快来啊~~~C中的%m.nf 是怎么回事?? -
禄波三协: %m.nf ,指定输出的数据占m列,其中有n位小数, 如果数值长度小于m,则左端补空格 举例: m=45.2354 printf("%5.3f ",m); 则输出 45.235

宜都市17523079841: c语言%m.nf若m小于n怎么办? -
禄波三协: %m.nf——别忘了这种控制字符串的功能表述中,最后有一句“当数据的实际位数超过指定宽度时按数据的实际宽度输出”.所以完全没有必要担心会丢掉数据……

宜都市17523079841: 谁能帮我具体讲下C语言中浮点数%m.nf具体是怎么输出的?我用的编译工具是TURBO 2.0 -
禄波三协: %m.nf m表示最小字符宽度,当实际字符显示,小于该值时,自动补空格,正数时数字右对齐,负数时,左对齐 例如%3d 对应 1 的话,就是##1 %-3d 对应 1 的话,就是1## 当实际的显示大于m,那就按实际输出,也就是m无意义了 例如%3d 对应 1234 的话,就是1234 没有空格 还有要注意,这里说的是字符的宽度,所以lz说的小数点. 也要算进去的n的话,就不用我说了吧

宜都市17523079841: int m=011, n=11;printf("%d %d\n", ++m, n++ 输出m是10,为何 -
禄波三协: m=011化为十进制是9,你输出的时候是++m,就相当于m=m+1;所以m就等于10了,这是单目运算符的规则,如果你是输出printf("%d %d\n", m++, n++ ),那么m就是9了...关于单目运算符你可以看下书的描述

宜都市17523079841: C语言数制转换 求出分别在 2~36 哪种进制下 M 和 N 相等. -
禄波三协: 错误比较多.1.main函数开始后第三行函数声明:int pow(int); 改为:int pow( int, int );2.第四行scanf("%s",&m);scanf("%s",&n); 改为scanf("%s",m);scanf("%s",n);3.for(j=2;j<37;j++,q=0) { …… } 这个循环中,第一个for循环前加这么两...

宜都市17523079841: c语言中,("%*.*f",m,n)是什么意思啊 -
禄波三协: 总的来说 这种写法是错的 应该是 ("%*.*f",m,n,x) x是一个变量,若是x=3.123 m=2,n=1,则该表达的是("%2.1f",3.123) 输出的结果是 3.1

宜都市17523079841: c语言 %+m.n % - m.n 表示什么 -
禄波三协: 这是我前几天给人回复的话,你问的m和n是代号,代表一个整数.刚好我就是用m和n讲的.我复制给你看%f是要求输出实数,%和f之间允许添加一定的格式控制符. 这个题里面考的是宽度控制符. 宽度控制符有两种,第一种是整...

你可能想看的相关专题

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网