我是 C 初学者,当我尝试编写一些这样的代码时:
printf("\n Answer : %d \n", 12* pow(2,1));
我总是得到答案:0
但是当我像这样写成浮点数时:
printf("\n Answer : %f \n", 12* pow(2,1));
我得到: 答案:24.0000
有谁知道为什么会发生这种情况?
我的意思是为什么十进制打印为0?
太感谢了。
你看到的结果是未定义的行为.
期望的类型printf
并且传递的类型不匹配。
说明符"%d"
必须匹配类型的值int
,但匹配类型的值double
你提供了你的表情。
任何事情都可能发生。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)