在c语言中print(“%d%8.6f“,x,y)中%d%8.6f是什么意思

如题所述

%d指按实际长度,以带符号十进制整数形式进行输出,%8.6f指以浮点小数(包括单精度和双精度)进行输出,输出结果占8格,取小数点前6位小数。

d格式:用来输出十进制整数。有以下几种用法: 

1、%d:按整型数据的实际长度输出。

2、%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。 

3、%ld:输出长整型数据。

f格式:用来输出实数(包括单、双精度),以浮点数形式输出。有以下几种用法:

1、%f:不指定宽度,整数部分全部输出,小数部分输出前6位。 

2、%m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。

3、%-m.nf:输出共占n列,其中有n位小数,如数值宽度小于m右端补空格。

扩展资料

常用的格式还有:

%o:以八进制无符号数形式输出整数。

%x、%X:以十六进制无符号数形式输出整数。

%s:输出字符串。

%c:输出一个字符。

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-21

%d、%8.6f是C语言中输出占位符

%d代表着整型数字输出;

%8.6f代表浮点数输出输出,共占8列,其中有6位小数,如数值宽度小于8左端补空格。

扩展资料

C语言中各类型输出占位符介绍:

1、long: %ld; (long 是int得修饰,不能算是一种单独的数据类型,只是比int多了四个字节的存储空间)

2、long long: %lld

3、char : %c

4、float/double : %f  float默认是6位小数输出;可以在%f中控制;例如:%.2f:输出两位小数;

5、char *s(字符串) :%s

6、unsigned: %u  (signed:有符号类型, unsigned:无符号类型;默认都是有符号的)

7、八进制:%o  以0开头

8、十六进制:%x 以0x开头

本回答被网友采纳
第2个回答  推荐于2018-03-02
%d表示输出的x是整形,%8.6f表示y输出的格式为y取小数点后6位,且y总共占8个位置,且其靠右。比如y的值为1.12345678,以下左边框为边界,则输出形式为:
1.123456(因为其正好八位所以看不出靠右排列)
如果输出是%8.4f,则输出会变为:
1.1234(最左边有两个空格,共占八位,靠右排列)
%a.bf的意思是该数字取小数点后b位,共占a位靠右排列(a为正数),如果a为负数则靠左排列,其他不变追问

如果y是123.356946
那出来的是什么

追答

这是实际输出数字长度比程序规定的长的问题,在这种情况下系统依然会输出小数后六位的。
y总共占8列,也就是说有效位数是8位,也就是前八个数字是正确的 ,而小数点后六位则是系统随机给出的 ,数字长度自动胀破,输出的y会是123.35694x。
前八个数字是正确的,x是个随机数,系统自动给出的。

本回答被提问者和网友采纳
第3个回答  2019-03-14
有print吗?是printf吧,d%是显示对应的int型数据,8.6f%表示显示一个浮点数(float类型),8表示只显示8位数字,而.6表示这个浮点数保留小数点后面6位数字,如果不够6位小数的话,那么将用0补齐6位小数
第4个回答  2012-09-11
%d输出 有符号10进制整数
%f输出浮点数 8 代表用于控制显示数值的宽度是8格,不够用空格替代,. .6 用于控制小数点后面的位数
相似回答