電力演算子が期待どおりに動作しないのはなぜですか?
提供された C コードで、「^」を使用しようとしています。電源操作を実行するオペレーター。ただし、「^」は C/C のべき乗演算子として機能しないため、出力は正しくありません。代わりに、ビット単位の XOR 演算子として定義されています。
このコードは、1 から 4 までの入力された数値「a」のべき乗の合計を計算することを目的としています。これを正しく達成するには、pow()関数を使用する必要があります。これには、引数の 1 つを double にキャストする必要があります。変更されたコードは次のようになります。
#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); }
さらに、C99 以降、powf() 関数と powl() 関数が、それぞれ float および long double 引数をサポートするために導入されたことにも注意してください。
以上がC コードの「^」演算子がべき乗を正しく計算しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。