1
私はDev C++ IDEでこのプログラムを書いています。私はクラッシュするかもしれないと思っていた。正しい出力を表示しています。メモリがここに割り当てられる方法を説明してください。なぜこれが機能していますか?変数doubleから整数へのキャスト
int main()
{
int i=10;
double d=3333333.555 ;
i=d+d;
printf(" Value of I after assignment %d",i);
getch();
}
メモリがどのように割り当てられますか?これは簡単な追加です。 –
私が間違っていない場合、操作の順序は3333333.555 + 3333333.555(加算演算子)であり、結果は6666667.11(まだ二重)です。結果はint(代入演算子)にキャストされ、値が6666667に切り捨てられます。これは期待している値ですか? – avanek
たとえば:int i;ダブルd = 3333333.555; i = int(d); –