DAVID Malan: Dus hoe kan we dit probleem oplossen? Nou, de makkelijkste manier is gewoon om te voorkomen ints helemaal, en in plaats daarvan te definiëren een vlotter door een vlotter. Specifiek, veranderen we 1-1,0 en 10-10,0, en dan is deze op te slaan bestand als floats1.c. Laten we nu compileren met make floats1, en voer het vervolgens met floats1. En nu, ik inderdaad zie 0.1. Er is nog een manier waarop we konden oplossen het, en dat is met behulp van gieten. Casting is het proces waarbij een gegevenstype ander, aangenomen dat zinvol te doen. In dit geval, wat ik kon doen is teruggaan de versie van de code waar ik ben verdelen in een int met 10 in int, maar Ik kon expliciet vertellen de compiler dat ik wil behandelen 1 alsof het een drijven, ook al is het een int, en Ik wil graag behandelen 10 als een float, hoewel het ook een int. In werkelijkheid kon ik wegkomen met alleen casting een van deze naar een float, want als je een float delen door een int of een int door een vlotter, C zal terug te keren naar een floating point waarde. Maar in dit geval, voor de goede orde, ik zal zetten zowel praalwagens, hercompileren mijn programma met make floats1, dan voer het uit met dot slash floats1, en ik zie ook 0.1.