• 締切済み

int なぜ

int balance[ ]={10.0,120,1.24}; は正しいらしいのですが, double balance[ ]={10.0,120,1.24}; と書くべきですよね? また int balance[ ]={10.0,120,1.24}; の場合は整数に直されて格納されるということでいいですか?

みんなの回答

  • k_kota
  • ベストアンサー率19% (434/2186)
回答No.3

> int balance[ ]={10.0,120,1.24}; 警告は出るけどコンパイルは通る、という事ですね。 > double balance[ ]={10.0,120,1.24}; 書くべきではなくて、意味が変わってしまいますので、置き換えは誤りです。 整数なら最初から整数にするべきだし、意図的に実数から整数変換して扱いたいならキャストを入れるべきです。 この場合は暗黙の型変換で整数に直されて入れられるでしょう。

masics
質問者

お礼

回答ありがとうございます.

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.2

>int balance[ ]={10.0,120,1.24}; >は正しいらしいのですが, 警告は出ると思いますけど(警告出さない設定とかは知らない)。

masics
質問者

お礼

回答ありがとうございます.

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

intとdouble、どちらが正しいかは、この値をどう扱いたいか、によります。 balance[n]を実数として扱いたいならdoubleですが、intにしたいのならintです

masics
質問者

お礼

回答ありがとうございます. intのときはintに変換されるということでいいですか?

関連するQ&A