鱼C论坛

 找回密码
 立即注册
查看: 6059|回复: 7

舍入误差时出错,求解释!

[复制链接]
发表于 2013-4-3 20:38:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>

void mian()
{
        printf("f%\n",1/2);
}
运行后说w1.c
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/wucha.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

wucha.exe - 2 error(s), 0 warning(s)
怎么解决呢?
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-3 21:30:09 | 显示全部楼层
  1. #include<stdio.h>
  2. main()
  3. {        float t;
  4.         t=1.0/2.0;
  5.         printf("%f\n",t);
  6. }
  7. //运行结果为0.500000

  8. #include<stdio.h>
  9. main()
  10. {        float t;
  11.         t=1/2;
  12.         printf("%f\n",t);
  13. }
  14. //运行结果就是0.000000

  15. //具体为什么我就不知道了  

  16. //坐等大神······
复制代码


小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-4-3 21:49:05 | 显示全部楼层
1是int,就没有小数点啦
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-3 21:54:57 | 显示全部楼层
"/" 表示取整,当被除数和除数是整数的时候(即上面的1和2),返回的也是一个整数。当它们当中有一个是浮点类型时。编译器会自动进行类型转换。即将整型装换为浮点型。浮点型取整的时候会有一个精度。
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-4-3 21:59:27 | 显示全部楼层
我发现我的错误了,应该是void main(),而不是mian
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-4-3 22:00:01 | 显示全部楼层

多谢指点{:1_1:}
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-4 00:32:17 | 显示全部楼层
飞不高的蚂蚁 发表于 2013-4-3 22:00
多谢指点

整形和浮点型在内存中的存储方式是不同的,同样的二进制值 ,以整形和浮点型 输出时 得到的结果是不同的.
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-5 16:23:44 | 显示全部楼层
把1改成1.0
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-7 08:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表