Maison >développement back-end >C++ >Pourquoi mon programme Fahrenheit vers Celsius C affiche-t-il 0 et comment puis-je y remédier ?
Conversions de Fahrenheit en Celsius : modification essentielle de l'équation
Dans ce programme C, notre objectif est de convertir de Fahrenheit en Celsius. Cependant, le code produit actuellement une sortie inattendue de 0. Examinons la raison de ce problème.
La ligne problématique dans le code est :
fahrenheit = (5/9) * (celsius + 32);
Le problème provient de l'opération de division (5/9). En C , la division entière est effectuée par défaut, ce qui signifie que le résultat est tronqué à un nombre entier. Cela donne effectivement à la division un rendement de 0, même si nous envisageons qu'il s'agisse d'une valeur à virgule flottante.
Pour corriger cela, nous devons modifier la division pour utiliser l'arithmétique à virgule flottante. Nous pouvons le faire en convertissant l'un des opérandes en float, comme suit :
fahrenheit = (5.0/9) * (celsius + 32);
En convertissant 5 en float (5.0), nous forçons l'exécution de la division entière en mode virgule flottante, ce qui donne la formule de conversion correcte.
Avec cette modification, le programme calcule désormais correctement la conversion Fahrenheit en Celsius, fournissant des résultats précis lorsqu'une température Celsius est saisie.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!