Heim  >  Artikel  >  Backend-Entwicklung  >  Warum gibt meine Umrechnung von C Celsius in Fahrenheit immer 0 aus?

Warum gibt meine Umrechnung von C Celsius in Fahrenheit immer 0 aus?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-25 05:22:29925Durchsuche

Why Does My C   Celsius to Fahrenheit Conversion Always Output 0?

Falsche Umrechnung von Celsius in Fahrenheit

In C erfordert die Umrechnung von Celsius in Fahrenheit mithilfe der Gleitkomma-Arithmetik besondere Aufmerksamkeit. Betrachten Sie den folgenden 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>

Warum gibt dieses Programm für jede Celsius-Eingabe 0 aus?

Das Problem liegt in der ganzzahligen Division von (5/9). Standardmäßig führt C eine Ganzzahldivision durch, die in diesem Fall 0 ergibt. Um dieses Problem zu lösen, müssen wir einen der Operanden in einen Gleitkommatyp umwandeln, um eine Gleitkommadivision zu erzwingen. Der korrigierte Code unten:

<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>

Das obige ist der detaillierte Inhalt vonWarum gibt meine Umrechnung von C Celsius in Fahrenheit immer 0 aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn