casting entier de la division en double en C

Pourquoi le code

double slope = (double)changeY/changeZ 

ensemble pente 0.0", quand dans le programme que j'ai, changeX = 20 et changeY = 10 (les deux ints)?

  • Pouvez-vous montrer tout le code?
  • Vous êtes à l'aide de changeY/*changeZ* dans l'exemple ci-dessus, au lieu de changeX. Êtes-vous sûr que c'est exact?
  • Parce que vous faites quelque chose de mal. Cependant, nous ne pouvons pas vous dire exactement ce qu'il est, avec ce peu d'informations. Donner un minimum, mais complet, exemple de code, où l'on voit les déclarations et les définitions de changeX etc. et le calcul de slope.
  • non - ce n'est pas nécessaire - l'OP du code avec la fonte devrait fonctionner comme prévu. Le problème se situe ailleurs.
  • Qu'est-ce que changeZ, la valeur que vous êtes en divisant par? Si c'est assez grand, le résultat sera assez petit pour être affiché comme 0.000000 avec printf("%f\n", slope);.
  • Peut-être changeZ si proche ou égal à l'infini.
  • Double Possible de Integer division toujours zéro

InformationsquelleAutor user1779429 | 2012-11-26