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
Lepaskan: 2024-12-20 11:18:15
asal
311 orang telah melayarinya

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);
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan