DAVID MALAN: Così come si può risolviamo questo problema? Beh, il modo più semplice è solo per evitare int del tutto, e invece definiscono un galleggiante da un galleggiante. In particolare, cambiamo 1-1,0 e da 10 a 10.0, e quindi salvare questo file come floats1.c. Vediamo ora compilarlo con make floats1, e poi eseguirlo con floats1. Ed ora, anzi vedo 0.1. C'è un altro modo potremmo risolvere , e che sta usando casting. Casting è il processo di conversione di una tipo di dati all'altro, supponendo che ha senso farlo. In questo caso, quello che ho potuto fare è tornare indietro alla versione di codice in cui sono dividendo una in int da 10 a int, ma Potrei dire esplicitamente al compilatore che voglio trattare uno come se fosse una galleggiante, anche se è un int, e Mi piacerebbe trattare 10 come float, anche se, troppo, è un int. In realtà, ho potuto uscire solo con colata uno di questi per un galleggiante, perché se si divide un galleggiante da un int o un int da un galleggiante, C sarà tornare a un valore in virgola mobile. Ma in questo caso, per buona misura, io convertire sia di carri allegorici, ricompilare il mio programma con make floats1, quindi eseguirlo con il puntino barra floats1, e vedo anche 0.1.