当前位置:  开发笔记 > 编程语言 > 正文

C程序提供意外的输出

如何解决《C程序提供意外的输出》经验,为你挑选了1个好方法。

这是我的C程序:

#include 
main(){ printf("%f", 5/3); }

我期待输出1.000000,但我得到的输出是0.000000.有人可以解释原因吗?



1> Shadowwolf..:

您使用错误的格式说明符.结果5/3int(整数),这是你传递给的printf().在您的格式中,您使用%f修饰符,这意味着float.使用错误的printf()修饰符是未定义的行为,这意味着这可以做任何事情,比如你的案例show 0.

要解决它,将除法的结果转换为a float,如下所示:

printf("%f",(float)(5/3));

这将按预期打印1.0.

记住你也可以输入,例如:

printf("%lf", 5./3);

为了将5转换为double包含5 的类型的浮点值.注意,然后您将执行浮点除法,因此结果将是1.3333.

推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有