C语言%.4f与%3f代表是什么意思?

#include<stdio.h>
void main()
{
float x=67.8564,y=-789.124;
printf("%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n",x,y,x,y,x,y);
}

输出结果

67.86, -789.12,67.8564,-789.1240,67.856400,-789.124023

前两个没疑问,第三四个和我预想结果相同可为什么谭老的书给的答案是

还有第五个和第六个,为什么是这个输出结果,是因为%3f的3无效吗?

C语言%.4f代表输出小数位为4的浮点数。%3f代表输出场宽为3的浮点数。

格式占位符(%)是在C/C++语言中格式输入函数,如scanf、printf等函数中使用。其意义就是起到格式占位的意思,表示在该位置有输入或者输出。其中,%f,%F,%e,%E,%g,%G 用来输入输出实数,可以用小数形式或指数形式输入输出。

可以在“%”和字母之间插进数字表示最大场宽。如:%9.2f表示输出场宽为9的浮点数,其中小数位为2,整数位为6。

对浮点数,若整数部分位数超过了说明的整数位宽度,将按实际整数位输出;若小数部分位数超过了说明的小数位宽度,则按说明的宽度以四舍五入输出。

扩展资料:

相关的格式占位符:

%a,%A 读入一个浮点值(仅C99有效)

%c 读入一个字符

%d 读入十进制整数

%i 读入十进制,八进制,十六进制整数

%o 读入八进制整数

%x,%X 读入十六进制整数

%s 读入一个字符串,遇空格、制表符或换行符结束。

%f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。

%p 读入一个指针

%u 读入一个无符号十进制整数

%n 至此已读入值的等价字符数

%[] 扫描字符集合

%% 读%符号

参考资料来源:百度百科-格式占位符

参考资料来源:百度百科-printf()

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-25
以%8.2f为例整数8表示宽度为8,也就是8个字符,而.2表示精度为2,也就是小数点后有2位
还有说一下,谭浩强书实在太坑,不建议学他的书本回答被网友采纳
第2个回答  2014-01-20
.代表小数点后的位数,3代表总的位数
第3个回答  2018-04-09
第一个问题:第三第四个老谭的书错了,你理解没问题;

第二个问题:第五第六个是因为%3f的3表示:打印的浮点数“至少”占3个字符宽度,这里大于3个,自然就是无效咯。至于为什么小数点后6位小数,这是单精度浮点数精度决定的。
第4个回答  2014-01-20
%3f 和%3.f是不同的,%3f相当于%f(3是无效的)
%3.f表示宽度为3本回答被提问者采纳

C语言%.4f与%3f代表是什么意思?
C语言%.4f代表输出小数位为4的浮点数。%3f代表输出场宽为3的浮点数。格式占位符(%)是在C\/C++语言中格式输入函数,如scanf、printf等函数中使用。其意义就是起到格式占位的意思,表示在该位置有输入或者输出。其中,%f,%F,%e,%E,%g,%G 用来输入输出实数,可以用小数形式或指数形式输入输出。可以在...

C语言%.4f与%3f代表是什么意思?
总的来说,%.4f和%3f是C语言中用于控制浮点数输出格式的特殊符号,通过数字的设定,可以精确控制输出的宽度和精度。理解并掌握这些占位符是编写高效和易读代码的基础。

C语言printf附加格式字符问题,求详细解释
其实此题主要考察scanf的附加格式字符作用。scanf中%2d表示只接收两位整数,所以a=98;%3f表示只接收3位浮点数,所以b=765;%4f表示只接收4位浮点数,所以c=4321。printf的附加格式字符只是对相应的变量增加了a=、b=和c=及各输出变量间加了个逗号,且要注意浮点数默认小数是6位,所以最后输出是:a...

c语言%3f什么意思
格式化输出控制字符串,意思是将对应变量按float型输出到屏幕(或打印机等),占宽3列右对齐,不足3位时前面用空格补齐,多于3位时按实际宽度输出。小数点也算1位。

在C语言中%4.3f是什么意思?
本意是占4位,3位小数。但是小数点也占一位。小数点后占3位。这样就有四位了。所以是从头开始写。如果是大于6位有效的就可以有空格。如:a=1.1111 你输出 8.3f 那么前面就会空两个空格。1.111

C语言中的F格式符
m就是空格的控制符啦,刚解释过了.小数点后面的n是精确到几位,比如说%.2f,就是四舍五入保留2位小数.楼上瞎说...%4f和%3f怎么会把小数省掉!太搞笑了..自己去试试啊~浮点的%4f的4是包括小数位的~而且这个4是用来做比如表格之类的格式控制,自动输入空格的,不是用来四舍五入舍位数的,如果数据...

c语言中scanf语句中。%3f%3f与%3f,%3f的区别
在scanf语句%3f%3f与%3f,%3f的区别主要是,输入的时候的区别:例如,scanf("%3f%3f",&a,&b);那么正确的输入就是1.0回车2.0,1.02.0,1.0 2.0都正确但是1.0,2.0就要出错,他就会把‘,’号也当成你的输入的一员 如果是,scanf("%3f,%3f",&a,&b);那么正确的输入就是1.0,2....

%3F是什么意思
3f 和%3.f是不同的,%3f相当于%f(3是无效的)3.f表示宽度为3 C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

c语言中,.3f表示啥意思
就是输出一个float 浮点数,保留3位小数,四舍五入。

c语言,这道题的%4.3f输出是什么?
float f=12.34567;以%4.3f格式输出是12.346。4.3f的意思是最小输出宽度是4个字符(包括小数点),同时保留3位小数(第4位会四舍五入)。注意4是最小输出宽度,为了保证精度和正确性,实际宽度可以超过它。

相似回答