c语言中printf("%08.2f,%08.2e",x,x)是什么意思?

如题所述

printf("%08.2f,%08.2e",x,x)中的"%08.2f,%08.2e"叫控制输出格式字符串(不含前后双引号),这里的具体意思如下:
%08.2f——将变量x的值按浮点数在屏幕上输出,占宽8位右对齐,四舍五入保留2位小数;数长不足8位时前面用0补齐,超过8位时按实际长度输出。
接着输出一个逗号。
%08.2e——将变量x的值按浮点数科学计数法在屏幕上输出,其余同上。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-31
%08.2f是将后面的第一个x按照浮点数输出,域宽为8(占8个字符的宽带,若宽带超出8则原样输出),保留2位小数

%08.2e表示用科学计数法输出,域宽8,两位小数
第2个回答  2013-08-31
精度输出,以“.”开头,后跟十进制整数。
意思是:假如输出数字,则表示小数的位数;
若实际位数大于最小的精度数,则四舍五进,若不足则补0;
假如输出的是字符,则表示输出字符的个数;
若实际位数大于最小的精度数,则截去超出的部分。

就以实例来说明问题吧:
#include<stdio.h>
int main()
{      
      char ch="abcdefg";
      printf("%.3f\n",12.3456);
      printf("%.9f\n",12.3456);
      printf("%.3s\n",ch);
      printf("%.9s\n",ch);
      return 0;
}
运转结果:
12.346           //四舍五进到小数点后三位
12.345600000     //不足补0
abc
abcdefg

第3个回答  2013-08-31
%08.2f 表示 x 是一个浮点数(f 标识浮点数),显示时总共显示8位,其中小数点后最多显示2位不足的补0,8位中包含小数点,也就是小数点前面5位,小数点前面不足5位的,以0填满(就是08之前的0的作用)。
第4个回答  推荐于2017-09-26
实数的格式化输出: %[输出最小宽度][.精度]实数类型 [ ]中为可选项。
1)输出最小宽度:%nf
用于显示该小数的最小位数n,包括整数,小数点以及小数部分的总位数。一般默认为数据右对齐,若输出宽度前加负号,则为左对齐。

2)精度:%n.mf
用于显示小数后的整数m,精度格式符以“."开头后跟十进制整数。若实际位数大于所定义的精度,则按四舍五入截取超过的部分。一般默认输出6位小数。

3)实数类型
一般用格式 f 将float型和double型表达式以十进制小数形式输出,lf 表示按 long double 类型输出。 e或E将实数按科学计数法的形式输出。

f表示以浮点数(就是小数)形式输出,e表示用科学计数法形式输出,8表示最少输出八位数(包括整数部分,小数点和小数部分),不足的用0补全 , .2 表示保留两位小数
比如,x值是 314.15926,则输出结果为:
00314.16,3.14e+002本回答被提问者和网友采纳
相似回答