武德 发表于 2021-1-25 16:08:34

C语言初学者求大佬解答

请问为什么printf("%10e\n",520000);与printf("%10e\n",520000.0);

第十行代码中70,115,105之类的数字为什么可以等于字母,是依据哪里规定的吗?

求大佬解答。

sunrise085 发表于 2021-1-25 16:13:36

那是ASCII码,看下表

昨非 发表于 2021-1-25 16:14:17

本帖最后由 昨非 于 2021-1-25 16:15 编辑

ASCII码表
https://baike.so.com/doc/7103239-7326232.html

武德 发表于 2021-1-25 16:23:30

sunrise085 发表于 2021-1-25 16:13
那是ASCII码,看下表

请问为什么printf("%10e\n",520000);与printf("%10e\n",520000.0);编译结果不同?

武德 发表于 2021-1-25 16:23:59

昨非 发表于 2021-1-25 16:14
ASCII码表
https://baike.so.com/doc/7103239-7326232.html

请问为什么printf("%10e\n",520000);与printf("%10e\n",520000.0);编译结果不同?

武德 发表于 2021-1-25 16:24:58

昨非 发表于 2021-1-25 16:14
ASCII码表
https://baike.so.com/doc/7103239-7326232.html

请问为什么printf("%10e\n",520000);与printf("%10e\n",520000.0);编译结果不同?

sunrise085 发表于 2021-1-25 17:41:43

本帖最后由 sunrise085 于 2021-1-25 17:56 编辑

武德 发表于 2021-1-25 16:23
请问为什么printf("%10e\n",520000);与printf("%10e\n",520000.0);编译结果不同?

这不是编译结果不同,是运行结果不同。。。。。
直接输入数字520000是int类型,需要用%d输出
但是若用%e输出,是以科学计数法输出浮点数,整型数据以浮点数形式输出,肯定会有问题,这就涉及到数据存储的问题了。
看看这个帖子
页: [1]
查看完整版本: C语言初学者求大佬解答