C语言中以单精度浮点型输入,输出格式为%d或%c,为什么显示的数不对?谢谢!

 我来答
岔路程序缘

2019-03-29 · TA获得超过8.9万个赞
知道大有可为答主
回答量:9918
采纳率:93%
帮助的人:3232万
展开全部
肯定不对啊!
你输入的时候是单精度浮点数类型,c语言中变量就是float类型,输入使用的格式是%f。
不同的变量类型在内存中的储存方式也完全不同,当你用整型格式(int)去读一个浮点格式(float)的数字时,不可能读出正确的结果。
所以,你必须用跟输入时相同的格式(%f)输出(另外,还必须跟变量的类型一致),才能显示正确的数字。
MarsCode
2024-08-21 广告
在C++编程领域,北京引力弹弓科技有限公司重视扎实的基础。C++作为一门高效、灵活的编程语言,其面向对象、泛型编程等特性为开发高质量软件提供了强大支持。我们鼓励员工深入理解C++的内存管理、类与对象、继承与多态等核心概念,并通过实际项目不断... 点击进入详情页
本回答由MarsCode提供
百I度网友AQnlQ
2019-03-29 · TA获得超过143个赞
知道小有建树答主
回答量:188
采纳率:37%
帮助的人:12.1万
展开全部
%d用于输出整型变量,%c用于输出字符型变量。c语言中,单精度浮点型变量和整型变量、字符型变量在内存中的存放格式是不一样的。单精度浮点数是由一个字节的阶码和3个字节的尾数构成的,共占用4个字节内存单元,而整型变量在内存中占用2个字节单元,字符型变量占用1个字节内存单元。将4字节浮点数按2个字节的整型数输出,或按1字节字符输出,都会得到无法预料的结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿冬76
2019-03-28 · TA获得超过5028个赞
知道大有可为答主
回答量:2710
采纳率:88%
帮助的人:1032万
展开全部
计算机在内存中任何内容的存储采用的都是二进制数,即一系列0和1的组合,从应用层面看,就是研究如何把我们认识的数值(可能是10进制的整数或者浮点数,可能是字符串,可能是一部分图像,也可能是一段语音或者视频)转换成0和1的组合,然后存放到内存和硬盘中,取出这些数据的时候,必须采用相同的算法取出,否则就会使其他形式。
对于你的问题,输入的时候是单精度浮点数,输出的时候以另一种格式取出,内容当然就会发生改变。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
helloharryman
2019-03-28 · TA获得超过852个赞
知道答主
回答量:168
采纳率:58%
帮助的人:11万
展开全部
单精度浮点型输出格式应该是%f或者用double类型%lf都行啊。 %d是输出整数, %C是输出字符 怎么可能会对啊。%s是字符串。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MCkq_shui
2019-04-09
知道答主
回答量:34
采纳率:66%
帮助的人:5.6万
展开全部
单精度浮点型float输出格式应为%f,%d是整形,%c是字符型,能听懂吗?不懂的话随时来问也是可以的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式