Heim >Backend-Entwicklung >C++ >Warum gibt mein C-Celsius-zu-Fahrenheit-Umrechner 0 aus?
C-Programm zur Umrechnung von Celsius in Fahrenheit
Dieses C-Programm zielt darauf ab, Celsius-Temperaturen in Fahrenheit umzurechnen. Einige Benutzer sind jedoch auf ein Problem gestoßen, bei dem das Programm fälschlicherweise 0 ausgibt. In diesem Artikel wird der Grund für dieses Problem untersucht und eine Lösung bereitgestellt.
Problembeschreibung
Bedenken Sie Folgendes folgender C-Code:
<code class="cpp">#include <iostream> using namespace std; int main() { float celsius; float fahrenheit; cout << "Enter Celsius temperature: "; cin >> celsius; fahrenheit = (5/9) * (celsius + 32); cout << "Fahrenheit = " << fahrenheit << endl; return 0; }</code>
Beim Ausführen dieses Codes kommt es bei einigen Benutzern zu einer fehlerhaften Ausgabe von 0.
Lösung
Das Problem liegt darin die Berechnung des Fahrenheit-Wertes. Der Ausdruck (5/9) führt standardmäßig eine Ganzzahldivision durch, was zu 0 führt. Um eine Gleitkommadivision sicherzustellen, sollte der Ausdruck in (5.0/9) geändert werden. Hier ist der korrigierte Code:
<code class="cpp">#include <iostream> using namespace std; int main() { float celsius; float fahrenheit; cout << "Enter Celsius temperature: "; cin >> celsius; fahrenheit = (5.0/9) * (celsius + 32); cout << "Fahrenheit = " << fahrenheit << endl; return 0; }</code>
Mit dieser Änderung berechnet und zeigt das Programm die Fahrenheit-Temperatur korrekt an, wenn ein Celsius-Wert angegeben wird.
Das obige ist der detaillierte Inhalt vonWarum gibt mein C-Celsius-zu-Fahrenheit-Umrechner 0 aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!