ジャンケンのプログラム
授業でジャンケンのプログラムを作らせている。グー,チョキ,パーを0,1,2で表すことにして,勝ち負けの判定条件が(x-y+1)%3=0
と書けることを紹介したりもしているわけだが…どうして+1してるかというと,負の数に%
を施したときの振る舞いに自信がないから。Cではこのあたり処理系依存だろうし,Javaでは確か決まっていたと思うんだけど…そんな細かい話は授業でしたくない。もちろんPENのサンプルプログラムにあるように(x+1)%3=y
としてしまえばそんな問題は起きないのだけど,授業の中では「勝負を決めるのは手の違い」→「手の差を考える」→「x-yの値」という流れで話をしているので,それはそれでいいだろう。
処理系依存といえば,MS-DOS時代にずっと使っていたLSI C-86試食版はcharがunsignedだったので,すっかりそれが手癖になってしまって他のコンパイラにコードを持ち込むときに苦労した覚えがある。
コメントの受付は終了しました。