関数を使用すると、数学方程式から同じ結果を得ることに問題があります。ここに私のコードです。私は、コードを実行するとCは関数の中でintをdoubleに変換します
#include <stdio.h>
int main()
{
int a=5, b=2;
double c;
c = (double) a/b;
printf("%f\n", c);
c = Divide(a);
printf("%f\n", c);
return 0;
}
int Divide(int value)
{
return value =(double) value/2;
}
は私が取得:
2.500000
2.000000
私は両方のために2.50000を取得しようとしています。私は機能を変更しようとしました
double Divide(double value)
運がありません。私は新しいCと一般的にコーディングすると私は立ち往生した。私を助けることができる人に感謝します。
return value =(double)value/2; '浮動小数点p oint除算を行い、結果は '2.5'となり、その値を' int'に切り詰めて '2'を返します。 'value ='部分を削除すると、意図した動作が得られます。 – owacoder
ありがとうございます。あなたが書いたことは私にとって意味があります。この機能を働かせることができました – jojonac