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

訃報: C 言語の開発者、デニス・リッチー氏が死去」記事へのコメント

  • #include
    int main()
    {
            printf("Good-bye, world\n");
            return 0;
    }

    • by Anonymous Coward

      /* K&R 2nd editionとしては、*/

      #include

      void main()
      {
                      printf("Good-by, world");
      }

      /* だと思います。(笑 */

      • by Anonymous Coward

        ネタにマジレスかもしれないけど。私の持ってる日本語訳(もちろん Second Edition)では

        #include <stdio.h>

        main()
        {
                printf("hello, world\n");
        }

        なんだよね。
        スラドでも main() の戻り値が void って誤解はメジャーなのかな?
        あと、hello, world は Hello, World が正しいって主張する人もときどき見かける。
        ひょっとして英語版ではそうなってるの?

        • K&R日本語初版20刷だと

          main()
          {
                  printf("hello, world\n");
          }

          です。 #include なしでprintfをつかっても文句を言わないのが当時のCコンパイラ。未知の関数はとりあえず整数戻り値扱いで文句言わずにコンパイル。

          • 関数のプロトタイプ宣言も無いですからね. 関数が想定しているパラメータが呼び出しの際に渡されなかったらどうなるかは, 確か実装依存.

            だから, そうした型の不一致に伴うエラーは実行時にならないと分からないとか.

            • by hjmhjm (39921) on 2011年10月15日 0時21分 (#2034925)

              確か実装依存.

              未定義じゃないですか。きっと。

              ただ、当時は事実上、intとdoubleしか渡さないようなものだったので、派手な問題にはなりにくかったのではないかと推測しますけど。

              親コメント
              • by Anonymous Coward

                >当時は事実上、intとdoubleしか渡さないようなものだった

                みんなの好きなポインタもあるし、構造体もあるよ。
                さらに、unionだったら、どうなるかな?

皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー

処理中...