Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapakah Penukaran C Celsius ke Fahrenheit Saya Sentiasa Output 0?

Mengapakah Penukaran C Celsius ke Fahrenheit Saya Sentiasa Output 0?

Patricia Arquette
Patricia Arquetteasal
2024-10-25 05:22:29925semak imbas

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

Penukaran yang salah dari Celsius kepada Fahrenheit

Dalam C , penukaran daripada Celsius kepada Fahrenheit menggunakan aritmetik titik terapung memerlukan perhatian khusus. Pertimbangkan kod berikut:

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

Mengapa program ini mengeluarkan 0 untuk sebarang input Celsius?

Isunya terletak pada pembahagian integer (5/9). Secara lalai, C melakukan pembahagian integer, yang menghasilkan 0 dalam kes ini. Untuk menangani perkara ini, kita mesti menghantar salah satu operan kepada jenis titik terapung untuk memaksa pembahagian titik terapung. Kod yang diperbetulkan di bawah:

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

Atas ialah kandungan terperinci Mengapakah Penukaran C Celsius ke Fahrenheit Saya Sentiasa Output 0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn