永发信息网

#include<stdio.h> void main() { float a; a=512; printf("%d\n",a); } 结果为0,这是为什么呢,

答案:4  悬赏:50  手机版
解决时间 2021-04-07 03:38
  • 提问者网友:刺鸟
  • 2021-04-06 09:33
#include<stdio.h> void main() { float a; a=512; printf("%d\n",a); } 结果为0,这是为什么呢,谢谢
最佳答案
  • 五星知识达人网友:煞尾
  • 2021-04-06 09:59
a是float类型的,要打印应该用%f,用%d只能打印整型的追问我知道,但我就是想知道为什么结果是0.因为没有出错,运行也有结果,我就是想知道为什么会这样.我是故意这么写的.追答计算机里面是怎么处理的我们不需要知道,我们只需要知道该怎么写。如果你想深究,可以百度下看看float是怎么样保存数字的,而%d是如何格式化变量的。应该避免斜阳写
全部回答
  • 1楼网友:大漠
  • 2021-04-06 12:59
printf("%f\n",a); 用%d的话应该是乱码吧
  • 2楼网友:动情书生
  • 2021-04-06 11:46
运行不匹配是不会有正确答案的,至于为什么,是应为各种编译器不一样。你可以试一下Linux下运行试试。
  • 3楼网友:风格不统一
  • 2021-04-06 10:49
float 里会有整数位和指数位 我映像当中指数位是6位其他是整数位 至于为什么会是0我也不太清楚 你还要自己研究下
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯