Problem Set 3 Searching

長くなりそうなので記事を分ける。

①備忘録(makeの内訳説明)
f:id:owan_k:20160714123121p:plain

②CS50すげえ…ぐぐったらなんでも出てくるやないか…
m.reddit.com
m.reddit.com

ところでCtrl+Dとは、
連載UNIXの教科書〜標準入出力とリダイレクション〜 | HPE 日本
"標準的なターミナルの設定では「Ctrl + D」キーを押すと、ファイルの終わりを示す記号である「EOF(End Of File)」という特殊な文字コードが送られるの。ターミナルの設定内容を表示する「stty -a」コマンドを実行すると確認できるわよ。"
確認してみた
f:id:owan_k:20160714123045p:plain
成る程、eof = ^D となっている。

結局、find.cはどのように読み解けるか
f:id:owan_k:20160714123059p:plain

  • 38行目ではMAX(65536)個の整数からなるアレイを定義

1番目のリンクで int haystack[MAX];
When the integer array called haystack is declared, it's given a size of MAX.
と説明されている。

  • MAX回iterationし(まくり)、その都度userからinput(数字)を貰う
  • userがもう入力を終わらせたいと思ったら、Ctrl+Dを押してEOF信号を送ればよい。それでiterationが終了するようにさせたのが44-47行目。Ctrl+Dを押さなかったら65536回整数を打ち込まなきゃならない。