2016-04-20 15 views
-2

私の質問は二重に関係しているので、私は、変数のある別の関数で計算した結果を表示するために、小数点以下の任意の値とその指数の小数点でユーザーからの入力を得ようとしています値をdoubleとして渡し、出力を2倍にしましたが、出力指定子を%lf%として使用しても、最終結果は1.00000になります。ユーザ入力からの二重指数

#include <stdio.h> 

double pwra (double, double); 

int main() 
{ 
    double number, power, xx; 

    printf("Enter Number: "); 
    scanf("%lf", &number); 

    printf("Enter Number: "); 
    scanf("%lf", &power); 

    xx=pwra (number,power); 

    printf("Result: %lf", xx); 

    return 0; 
} 

double pwra (double num, double pwr) 
{ 
    int count; 
    int result = 1; 

    for(count=1;count<=pwr;count++) 
    { 
     result = result*num; 
    } 
    return result; 
} 
+1

@TryllZのStackOverflowへようこそ。読みやすいようにコードを書式設定すると、より速くヘルプを得ることができます。また、あなたは本当にここで質問したことはありません。あなたが把握しようとしていることについて、できるだけ具体的にしてください。 – Richard

+0

OK、申し訳ありませんが、同じ人が私の以前の質問に関して返信する印象を受けていましたが、とにかくありがとう、それを今編集します.. – TryllZ

+1

人はそうかもしれませんが、(私のような)サイトの先頭ページ、または他の手段を介して表示されます。それぞれの質問は、(a)潜在的回答者の可能な限り広い分野にアクセス可能であり、(b)後に同じ質問をする可能性のある他の人々にできるだけ有用であることを保証するために、できるだけ自己完結型でなければならない。 – Richard

答えて

1

あなたはpwrs()機能にresultための間違った種類を使用しています。

変更:

int result = 1; 

へ:

double result = 1.0; 

注意あなたがあなたのデバッガを使用することを学ぶ場合は単純なミスのこのタイプを簡単に識別されていること。詳しい読書:How to debug small programs

pwrは、ではなく、intである必要があります。これは、関数が整数指数でのみ機能するためです。

+0

私はこれを試してみましたが、結果は二重と十進の値になりますが、結果は計算結果とは異なります..?!、混乱しました..デバッガはエラーを表示しません.. – TryllZ

+0

@TryllZ:デバッガは "エラー(クラッシュを除く) - コードをステップバイステップで実行し、変数を検査し、コードが期待どおりに機能しない理由を理解する必要があります。プログラマー。 –

+0

私はマウス上のデバッグを知っていますが、その時点で変数に格納されている値が表示されますが、Qunicy doestにはデバッグのためのマウスオーバーがあり、デバッグ時にはDev C++の時間がかかります。 – TryllZ

関連する問題