Mengapa operator kuasa saya (^) tidak berfungsi?
Dalam kod C yang disediakan, operator ^ tidak berfungsi sebagai kuasa operator kerana dalam C/C , ^ mewakili operasi XOR bitwise, bukan eksponen.
Matlamat kod yang diberikan adalah untuk mengira jumlah bagi kuasa nombor a dinaikkan kepada setiap nilai daripada 1 hingga 4. Walau bagaimanapun, menggunakan operator ^ hanya akan melaksanakan operasi XOR bitwise, bukan eksponen.
Untuk melaksanakan eksponen, anda harus menggunakan fungsi pow() daripada perpustakaan math.h. Sintaks untuk pow() ialah:
double pow(double base, double exponent);
Berikut ialah versi pembetulan kod menggunakan pow():
#include <stdio.h> #include <math.h> void main(void) { int a; int 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); }
Dalam kod yang disemak ini:
Dengan perubahan ini, kod akan mengira dengan betul dan cetak jumlah kuasa yang dinaikkan kepada setiap nilai daripada 1 hingga 4.
Atas ialah kandungan terperinci Mengapakah Operator `^` Kod C Saya Tidak Mengira Kuasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!