Diary?

2008-03-31
Mon

(22:23)

久しぶりに凄いものを見てしまった。

今朝の時点では注意書きも何も無しでそのまま載っていたが、流石に間違いには気がついたらしい。しかしだな、「詳細をレビュー中」も何もノータイムで却下じゃヴォケ。どうみても未初期化ポインタだろ。多分筆者の環境じゃこれが動いちゃったんだろうけど、だから C言語は危険なんだよな(でもコンパイラの警告レベルを上げてどうこういう問題でもないし、ほんとこういうのって気がつかないときには気がつかないよな)。

きっと次のようなことがしたかったんだろうなーとは思う。でもこれ、普通に C の入門レベルの問題じゃねえか?

#include <stdio.h>
 
int main(void) {
  int n = 5, *p;
  p = &n;
  printf("%d\n", *p);
  return 0;
}

他の部分もわざわざ scanf なんてアホなもので説明してるし、何か全面的にこの人 C 言語わかってないんじゃねえか。これを 40 人近い人たちに推薦してるが、まあ殆どはコメントでのツッコミを含めた反面教師としての推薦だろうな。

追記: なぜか stdlib.h をインクルードしてたのを消去。いや、最初は mallocしてやろうかと思ってたけど、元の記事はそういう趣旨の内容じゃなかったんで。あと記事のコードは最初は以下の状態だった。

#include <stdio.h>
 
int main(void) {
    int *n;
 
    *n = 5;
    printf( "%d\n", *n );
 
    return 0;
}

Creative Commons
この怪文書はクリエイティブ・コモンズ・ライセンスの元でライセンスされています。引用した文章など Kuwata Chikara に著作権のないものについては、それらの著作権保持者に帰属します。