これはよくある問題だと思います。しかし、私は確かな正解を見つけることができません。
_16 ^ 54 = 1.0531229167e+65 (this is the result I want)
_
pow(16,54)
を使用すると、次のようになります。
105312291668557186697918027683670432318895095400549111254310977536.0
コードは次のとおりです。
_#include <stdio.h>
#include <math.h>
#include <stdlib.h>
void main(){
double public;
double a = 16;
double b = 54;
public = (pow(a,b));
printf("%.21f\n", public);
}
_
実行されるコード:
gcc main.c -lm
私が間違っているのは何ですか?
私は何が間違っているのですか?
いくつかのこと:
%.10e
ドットの後に10桁の印刷物の場合はprintf
を使用した科学的記数法の形式int
からmain
を返します。public
を使用しないことを検討してください。ここでpublic
はキーワードです。プログラムを修正する方法は次のとおりです。
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main(){
double p;
double a = 16;
double b = 54;
p = (pow(a,b));
printf("%.10e\n", p);
return 0;
}