ので、私は電力を計算するためにC言語で、この機能を持っている、と私は、Visual C++ 2010機能取得間違った値
power.hを使用してい
void power();
float get_power(float a, int n);
power.c
void power()
{
float a, r;
int n;
printf("-POWER-\n");
printf("The base: ");
scanf("%f", &a);
n = -1;
while (n < 0)
{
printf("The power: ");
scanf("%d", &n);
if (n < 0)
{
printf("Power must be equal or larger than 0!\n");
}
else
{
r = get_power(a, n);
printf("%.2f^%d = %.2f", a, n, r);
}
};
}
float get_power(float a, int n)
{
if (n == 0)
{
return 1;
}
return a * get_power(a, n-1);
}
私はそれを行う最良の方法ではありませんが、それはそれではありません
私はそれをデバッグするとき、値が正しくスキャンされます(つまり、関数呼び出しの直前まで正しいです)。関数aを入力すると、nが1074790400になり、次に何が起こるかを推測することができます。
最初の関数がメインファイルから呼び出されています。私はそれについてgoogleの方法について考えることすらできません...
不思議なことに、私は1つのファイルに関数を書いて、それはうまく動作しますが、どちらもうまくいくはずです。これは事件です?
コードに問題はありません。物事を乱すかもしれないことを省略した詳細はありますか? – Jacob
この機能は私のシステムで正常に動作します。あなたの入力値は何ですか? – thkala
省略しないと、main()を持つfirst.cがあり、最初に#include "powerを使用してpower()を呼び出した後に呼び出されます。h " – frankie