DAVID MALAN: Então, como pode vamos resolver este problema? Bem, a maneira mais fácil é apenas para evitar ints por completo, e em vez disso definir uma bóia por uma bóia. Especificamente, vamos mudar 1-1,0 e de 10 a 10.0, e depois salvar este arquivo como floats1.c. Vamos agora compilar com make floats1, e, em seguida, executá-lo com floats1. E agora, eu realmente ver 0.1. Há uma outra maneira que nós poderíamos resolver , e que está usando casting. A conversão é o processo de conversão de um Tipo de dados para outro, supondo que ele faz sentido fazê-lo. Neste caso, o que eu poderia fazer é voltar para a versão de código onde eu estou dividindo um em int por 10 em int, mas Eu poderia dizer explicitamente o compilador que eu quero tratar um como se fosse um flutuar, mesmo que seja um int, e Eu gostaria de tratar 10 como um float, mesmo que ele, também, é um int. Na realidade, eu poderia fugir com apenas lançando um destes para um float, porque se você dividir um carro alegórico por um int, ou um int por um float, C será voltar para você um valor de ponto flutuante. Mas, neste caso, para uma boa medida, eu vou converter tanto para carros alegóricos, recompilar meu programa com o make floats1, então executá-lo com um ponto floats1 barra, e eu também ver 0.1.