べき乗演算子 (^) が機能しないのはなぜですか?
提供された C コードでは、^ 演算子がべき乗として機能しません。 C/C では、 ^ は累乗ではなくビット単位の XOR 演算を表すためです。
指定されたコードの目的は次のとおりです。 1 から 4 までの各値に対する数値 a のべき乗の合計を計算します。ただし、^ 演算子を使用すると、累乗ではなく、ビット単位の XOR 演算のみが実行されます。
累乗を実行するには、次のようにする必要があります。 math.h ライブラリの pow() 関数を使用します。 pow() の構文は次のとおりです:
double pow(double base, double exponent);
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); }
この修正されたコード内:
これらの変更により、コードは、1 から 4 までの各値に対する a のべき乗の合計を正しく計算して出力します。
以上が私の C コードの `^` 演算子がべき乗を計算しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。