-3
こんにちは、除算をしようとすると、倍x = 3 *(5/10);何らかの理由でx = 0になります。理由はありますか?これはC++で起こります。私は学んでおり、なぜこのようなことが起こるのかわかりません。C++の部門エラー?
こんにちは、除算をしようとすると、倍x = 3 *(5/10);何らかの理由でx = 0になります。理由はありますか?これはC++で起こります。私は学んでおり、なぜこのようなことが起こるのかわかりません。C++の部門エラー?
これについて考える:どのデータ型が5ですか? どのデータ型が10ですか? INTEGER!
その後、 (int型)5 /(INT)10 =(int型)0.5 = 0
はあなたが小数の値を持っていないと、整数演算を行っている。この
double a = 3;
double b = 5;
double c = 10;
double x = a * (b/c);
を試してみてください。 5/10は単に0になります(0.5の全体が保持されます)。浮動小数点値を取得するには、リテラルの1つが浮動小数点型でなければなりません。 3 *(5.0/10)はうまくいくはずです。 –
5/10は整数除算なので、結果は0 –
これを試してください: 'double x = 3 *(5.0/10.0)'あなたが期待するものを得るには。 –