Rumah >pembangunan bahagian belakang >C++ >Mengapa Operator '^' Kod C Saya Tidak Mengira Kuasa dengan Betul?

Mengapa Operator '^' Kod C Saya Tidak Mengira Kuasa dengan Betul?

Patricia Arquette
Patricia Arquetteasal
2024-12-20 11:18:15274semak imbas

Why Isn't My C Code's

Mengapa Pengendali Kuasa Tidak Berfungsi Seperti Yang Dijangkakan?

Dalam kod C yang disediakan, percubaan dibuat untuk menggunakan "^" operator untuk menjalankan operasi kuasa. Walau bagaimanapun, output tidak betul kerana "^" tidak berfungsi sebagai pengendali kuasa dalam C/C . Sebaliknya, ia ditakrifkan sebagai pengendali XOR bit-wise.

Kod ini bertujuan untuk mengira jumlah kuasa nombor "a" yang dimasukkan dari 1 hingga 4. Untuk mencapai ini dengan betul, pow() fungsi harus digunakan, yang memerlukan menghantar salah satu argumennya untuk menggandakan. Kod yang diubah suai ialah:

#include <stdio.h>

void main(void)
{
    int a;
    double result;
    int sum = 0;
    printf("Enter a number: ");
    scanf("%d", &a);
    for( int i = 1; i <= 4; i++ )
    {
        result = (int) pow((double) a,i);
        sum += result;
    }
    printf("%d\n", sum);
}

Selain itu, perlu diperhatikan bahawa sejak C99, fungsi powf() dan powl() telah diperkenalkan untuk menyokong argumen berganda apungan dan panjang.

Atas ialah kandungan terperinci Mengapa Operator '^' Kod C Saya Tidak Mengira Kuasa dengan Betul?. 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