- 締切済み
int なぜ
int balance[ ]={10.0,120,1.24}; は正しいらしいのですが, double balance[ ]={10.0,120,1.24}; と書くべきですよね? また int balance[ ]={10.0,120,1.24}; の場合は整数に直されて格納されるということでいいですか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- k_kota
- ベストアンサー率19% (434/2186)
回答No.3
> int balance[ ]={10.0,120,1.24}; 警告は出るけどコンパイルは通る、という事ですね。 > double balance[ ]={10.0,120,1.24}; 書くべきではなくて、意味が変わってしまいますので、置き換えは誤りです。 整数なら最初から整数にするべきだし、意図的に実数から整数変換して扱いたいならキャストを入れるべきです。 この場合は暗黙の型変換で整数に直されて入れられるでしょう。
- wormhole
- ベストアンサー率28% (1626/5665)
回答No.2
>int balance[ ]={10.0,120,1.24}; >は正しいらしいのですが, 警告は出ると思いますけど(警告出さない設定とかは知らない)。
質問者
お礼
回答ありがとうございます.
- kmee
- ベストアンサー率55% (1857/3366)
回答No.1
intとdouble、どちらが正しいかは、この値をどう扱いたいか、によります。 balance[n]を実数として扱いたいならdoubleですが、intにしたいのならintです
質問者
お礼
回答ありがとうございます. intのときはintに変換されるということでいいですか?
お礼
回答ありがとうございます.