DAVID MALAN: Så hur kan vi lösa detta problem? Tja, är det enklaste sättet bara för att undvika ints helt och hållet, och istället definiera en flottör av en flottör. Specifikt, låt oss byta 1-1,0 och från 10 till 10,0, och sedan spara fil som floats1.c. Låt oss nu sammanställa det med make floats1, och sedan köra den med floats1. Och nu, jag verkligen se 0.1. Det finns ett annat sätt vi skulle kunna lösa det, och det är med hjälp av gjutning. Gjutning är ett sätt att omvandla en datatyp till en annan, förutsatt att det vettigt att göra så. I så fall, vad jag skulle kunna göra är att gå tillbaka till den version av koden där jag är dela en i int med 10 i int, men Jag kunde tydligt berätta kompilatorn att jag vill behandla en som om det är en flyta, även om det är en int, och Jag skulle vilja behandla 10 som ett flöte, även om det också är en int. I själva verket kunde jag komma undan med att bara gjutning en av dessa till en flottör, för om du delar en flottör av en int, eller int av en flottör, C kommer tillbaka till dig ett flyttal. Men i detta fall, för bra åtgärd, jag konvertera både flottar, kompilera mitt program med make floats1, då kör den med punkt snedstreck floats1, och jag ser även 0.1.