パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

スラドに聞け:いま使っている言語の仕様、把握している?」記事へのコメント

  • int a[]={10, 11, 12};
    int *p = a;

    *p++ = p[1]; /* なんかトリッキー… */

    printf("%d %d %d", a[0], a[1], a[2]);

    これをコンパイルすると
    gcc4.7以前だと 11 11 12
    gcc4.8以降だと 12 11 12
    わんぱくですね。

    • by Anonymous Coward

      バグというか解釈の違いというか。
      後置の定義が示す『式』というのがどの範囲までかという話ですよね。

      あと*pに代入するならa[1]を代入しているのと同じでトリッキーというほどでは無いような。

      • by Anonymous Coward

        せやな。代入せなんでも

        int i=0;
        printf("%d %d %d", c, c++, c);

        だけでもようわからんようなるで

    • by Anonymous Coward

      わんぱくでもトリッキーでもないし
      "-Wall"をつけないでgccを使っている時点でプログラマ失格

ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ

処理中...