- ベストアンサー
if (m == 1 || 2)の意味は?
変数mが1と2の時にif文内が実行されるようにしたつもりが mが5の時なんかにもif文内が実行されてしまいます。 これでは、そのような意味にはならないのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> 変数mが1と2の時にif文内が実行されるようにしたつもりが if (m == 1 || m == 2) の誤りです。 > mが5の時なんかにも if (m == 1 || 2)の場合は、mが1か、または、常に真のときという意味合いになり、結局、ifの中は、常に真になってしまいます。
その他の回答 (2)
- ranx
- ベストアンサー率24% (357/1463)
回答No.3
(m==1||2) は、「m=1の時」または「2の時」という意味です。 「2の時」って何?ということになりますが、C言語では、 ゼロが偽で、それ以外は真と決められています。 よって、これはmの値に関係なく真となります。
質問者
お礼
回答ありがとうございました。 面倒で省略してしまったのがまずかったみたいですね。。 でも、勉強になりました。
- kz2960
- ベストアンサー率21% (33/154)
回答No.2
if (m == 1 || m ==2 ) では駄目かな?
質問者
お礼
回答ありがとうございました。 やってみますね。結果は少々お待ちください。
質問者
補足
出来ました!みなさんのおっしゃるとおりでした。ありがとうございました。
お礼
回答ありがとうございました。 なるほど。。そういう意味だったのですね。 ところで。。すご~い!!^^ No.1とNo.2が逆になってるぅぅぅ!!