小猪鼠 发表于 2020-5-4 10:25:29

小萌新求助关于e指数的%e输出控制格式问题



#include<stdio.h>

int main()
{
      printf("%10d\n",2020);
      printf("%010d\n",2020);
      printf("%10.2f\n",3.1416);
      printf("%-10.3f\n",3.1416);
      printf("%10e\n",520000);
      printf("%-10E\n",510000);
      return 0;
}
这个为什么输出是   
      2020
0000002020
      3.14
3.142   
3.141600e+00
3.141600E+00

然后修改一下代码:#include<stdio.h>

int main()
{
      printf("%10d\n",2020);
      printf("%010d\n",2020);
      printf("%10.2f\n",3.1416);
      printf("%-10.3f\n",3.1416);
      printf("%10e\n",520000.0);
      printf("%-10E\n",510000);
      return 0;
}
输出变为:
      2020
0000002020
      3.14
3.142   
5.200000e+05
5.200000E+05

孤世星辰 发表于 2020-5-4 10:48:12

https://fishc.com.cn/forum.php?mod=viewthread&tid=66471&extra=page%3D1%26filter%3Dtypeid%26typeid%3D583
都挺基础你可以先看看

小猪鼠 发表于 2020-5-4 11:31:48

孤世星辰 发表于 2020-5-4 10:48
https://fishc.com.cn/forum.php?mod=viewthread&tid=66471&extra=page%3D1%26filter%3Dtypeid%26typeid%3D ...

我想知道为什么第一个代码中e指数输出成上面3.14的e指数形式了

孤世星辰 发表于 2020-5-4 11:41:44

本帖最后由 孤世星辰 于 2020-5-4 11:43 编辑

小猪鼠 发表于 2020-5-4 11:31
我想知道为什么第一个代码中e指数输出成上面3.14的e指数形式了

e和E都代表用科学计数法,帖子不是写了么以指数形式输出浮点数

小猪鼠 发表于 2020-5-4 11:48:46

孤世星辰 发表于 2020-5-4 11:41
e和E都代表用科学计数法,帖子不是写了么以指数形式输出浮点数

但是为什么它要输出上一个数(3.14)得e指数,而不是报错或者乱码呢

孤世星辰 发表于 2020-5-4 11:55:01

小猪鼠 发表于 2020-5-4 11:48
但是为什么它要输出上一个数(3.14)得e指数,而不是报错或者乱码呢

这个语句是对的为啥要报错,至于为啥可以这样编译,你就跟问为啥可以打印hello world一样,你去了解计算机怎么编译的可能就知道了,现在只要会写编程就好了

小猪鼠 发表于 2020-5-4 12:02:49

孤世星辰 发表于 2020-5-4 11:55
这个语句是对的为啥要报错,至于为啥可以这样编译,你就跟问为啥可以打印hello world一样,你去了解计算 ...

{:10_277:}
页: [1]
查看完整版本: 小萌新求助关于e指数的%e输出控制格式问题