1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:01,830 >> DAVID马兰:那么,怎样才能 我们解决这个问题? 3 00:00:01,830 --> 00:00:05,310 那么,最简​​单的方法就是避免 干脆整数,而是定义 4 00:00:05,310 --> 00:00:06,960 一只浮子由浮动。 5 00:00:06,960 --> 00:00:12,460 具体地讲,让我们改变1到1.0 和10至10.0,然后保存该 6 00:00:12,460 --> 00:00:14,380 文件作为floats1.c。 7 00:00:14,380 --> 00:00:20,270 现在,让我们用make floats1编译它, 然后用floats1运行它。 8 00:00:20,270 --> 00:00:22,590 而现在,我确实看到0.1。 9 00:00:22,590 --> 00:00:25,540 >> 还有另一种方法,我们可以解决 它,这是使用铸造。 10 00:00:25,540 --> 00:00:29,750 铸造是将1的过程 数据类型到另一个,假设它 11 00:00:29,750 --> 00:00:31,130 有道理这样做。 12 00:00:31,130 --> 00:00:34,370 在这种情况下,有什么我可以做的是回去 到代码中,我的版本 13 00:00:34,370 --> 00:00:40,050 在诠释将一个整数中10,但 我可以明确地告诉编译器 14 00:00:40,050 --> 00:00:43,990 我想治疗1,就好像它是一个 浮,即使它是一个int,并 15 00:00:43,990 --> 00:00:48,270 我想对待10为float, 尽管它也就是一个int。 16 00:00:48,270 --> 00:00:51,760 >> 在现实中,我可以逃脱公正 铸造其中之一为float, 17 00:00:51,760 --> 00:00:55,350 因为如果你通过将一个浮点数 int或一个int由浮球,C会 18 00:00:55,350 --> 00:00:57,550 返回到您的浮点值。 19 00:00:57,550 --> 00:01:01,150 但在这种情况下,良好的措施,我会 都转换为浮点数,重新编译 20 00:01:01,150 --> 00:01:06,380 我用make floats1程序,然后 用点斜线floats1运行它, 21 00:01:06,380 --> 00:01:08,770 而我也看到0.1。 22 00:01:08,770 --> 00:01:10,983