DAVID MALAN: Deci, cum se poate am rezolva această problemă? Ei bine, cel mai simplu mod este de doar pentru a evita int defini cu totul, și în schimb un float de un float. În mod special, să schimbăm 1-1.0 și 10 - 10.0, iar apoi salvați acest fișier ca floats1.c. Să-l acum compila cu make floats1, și apoi rulați-l cu floats1. Și acum, eu văd într-adevăr 0.1. Există un alt fel, am putea rezolva l, și care este utilizarea de turnare. Turnarea este procesul de conversie una tip de date la altul, presupunând că are sens să facă acest lucru. În acest caz, ceea ce am putea face este să mergeți înapoi la versiunea de cod în cazul în care sunt împărțind unul din int de 10 în Int, dar Aș putea spune în mod explicit compilatorului care doresc să trateze o de parcă ar fi o float, chiar dacă este un int, și Aș dori pentru a trata 10, ca un float, chiar dacă, de asemenea, este un int. În realitate, am putut să scape cu doar turnare una dintre acestea la un flotor, pentru că dacă împărțiți un float de un Int, sau o int de un float, C va întoarce la tine o valoare în virgulă mobilă. Dar, în acest caz, pentru o bună măsură, voi converti atât de flotoare, recompilați programul meu de make floats1, apoi rulați-l cu punct floats1 slash, și văd, de asemenea, 0.1.