1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:01,830 >> DAVID Malan: Alors, comment pouvez nous résoudre ce problème? 3 00:00:01,830 --> 00:00:05,310 Eh bien, le plus simple est juste pour éviter ints définissent tout à fait, et à la place 4 00:00:05,310 --> 00:00:06,960 un flotteur par un flotteur. 5 00:00:06,960 --> 00:00:12,460 Plus précisément, nous allons changer de 1 à 1,0 et 10 à 10.0, puis enregistrez ce 6 00:00:12,460 --> 00:00:14,380 déposer comme floats1.c. 7 00:00:14,380 --> 00:00:20,270 Compilons maintenant avec make floats1, et puis exécutez-le avec floats1. 8 00:00:20,270 --> 00:00:22,590 Et maintenant, je vois en effet 0,1. 9 00:00:22,590 --> 00:00:25,540 >> Il ya une autre façon, nous pourrions résoudre , et qui se sert de la coulée. 10 00:00:25,540 --> 00:00:29,750 Le casting est le processus de conversion d'un le type de données à un autre, en supposant que 11 00:00:29,750 --> 00:00:31,130 est logique de le faire. 12 00:00:31,130 --> 00:00:34,370 Dans ce cas, ce que je pourrais faire est revenir pour la version de code où je suis 13 00:00:34,370 --> 00:00:40,050 divisant un int en 10 en int, mais Je pourrais dire explicitement le compilateur 14 00:00:40,050 --> 00:00:43,990 que je veux traiter 1 si c'est un flotter, même si c'est un int, et 15 00:00:43,990 --> 00:00:48,270 J'aimerais traiter 10 comme un flotteur, même si, lui aussi, est un int. 16 00:00:48,270 --> 00:00:51,760 >> En réalité, je pouvais sortir avec juste coulée un de ces à un flotteur, 17 00:00:51,760 --> 00:00:55,350 parce que si vous divisez un flotteur par un int, int ou un par un flotteur, C sera 18 00:00:55,350 --> 00:00:57,550 vous retourner une valeur à virgule flottante. 19 00:00:57,550 --> 00:01:01,150 Mais dans ce cas, pour faire bonne mesure, je vais convertir à la fois à des flotteurs, recompiler 20 00:01:01,150 --> 00:01:06,380 mon programme avec make floats1, alors exécuter avec point barre floats1, 21 00:01:06,380 --> 00:01:08,770 et je vois aussi 0,1. 22 00:01:08,770 --> 00:01:10,983