啊哈磊_编程从这里起步

标题: 结果不是不等于1么 [打印本页]

作者: 星风伊    时间: 2019-6-30 11:47
标题: 结果不是不等于1么
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5.     float a,b;
  6.     a=1.0;
  7.     b=a/3*3;
  8.     printf("%f",b);
  9.     return 0;
  10. }
复制代码

作者: 冰山qd    时间: 2019-6-30 16:54
本帖最后由 冰山qd 于 2019-6-30 17:31 编辑

结果不会等于3,根据编译器的不同结果可能是1.00000,或者0.999999,但实际存储的值‭二进制为:00111111100000000000000000000000‬

无标题.png (172.63 KB, 下载次数: 31)

无标题.png

作者: sensen    时间: 2019-6-30 20:08
忘记加system("pause");了,结果是1,不过没写保留多少位,后面有一大串0。
作者: 比比    时间: 2019-7-3 15:33
结果是1,只是因为你加了“float”,后面有6个0,但不影响结果是1。




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2