関心空間はコンピュータのクチコミも満載!

新着

... もっとみる
ログイン | ユーザー登録(無料)

カイテハイケナイソースコード

書いてはいけないソースコード

  • 書いてはいけないソースコードの画像

ちょっとアタマの体操(?)です。

int n=1;
n = n++ + ++n;
print n;

上のようなコードを実行した場合、nはいくつになるでしょう?
答えは、ひとつではありません。処理系依存で、様々な解答が返ってきます。

あなた脳で処理した場合、結果はいくつですか?
その回答に至った結果は?
是非、ご意見をお聞かせください。
僕の脳内では「最終的にn++が評価されて、1+1=2」です。

書いてはいけないソースコード

このページに
携帯でアクセス

2次元バーコード対応の携帯で読み取ってください

投稿者:
タムら屋
  • 2002/06/20更新
  • 2002/06/20登録
  • 2047クリック

このキーワードを共有する

コメント (11)

最新コメント5件

2002/06/20

タムら屋 スタックに値を積んで計算するタイプのコンパイラは4、レジスタに値を保存して計算するタイプでは5になるものが多い様です。まぁ、こんなコードは書くなってオチなんですけどね (^^;

2002/06/21

単項演算子は二項演算子より優先度が高いというのが仕様のはずなので,3が言語仕様通りという気がしますが,これを正しく3にするコンパイラを書くのは難しいですね。「n = n++ + ++n;」を「曖昧な表現だ」って怒ってコンパイルエラーにするちうのが正解かも(笑)。

2002/06/22

タムら屋 むむむ、3になるパターンのアルゴリズムが思いつきません・・・

2002/06/25

olmy C#(CLRか?)と私の頭は4でした...。

タムら屋 実際にコンパイルして3になるコンパイラ、ありませんかねぇ?

つながりキーワード (1)

プログラマー確実養成講座 プログラミング入門書の中では私のイチオシ! ただ、平易な言葉にしただけでなく、観念を分かりやすく噛み砕いて、プログラミングとはどんな作業なの...

携帯でこのページにアクセス

書いてはいけないソースコード

2次元バーコード対応の
携帯で上の画像を読み
取るとアクセスできます

トラックバック (0)

まだトラックバックされていません。

トラックバックURL
http://www.kanshin.com/tb/keyword-123269

キャンペーン


ロケットニュース24

未来検索 ガジェット通信
ページの先頭へ ページの先頭へ