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!