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