こんにちは、これは Kernighan と Ritchie のキーワード カウント プログラム (ANSI 版の第 6 章セクション 3) に関する質問です。以下のリンクにコード全体を含めました。
C ソース コードでコードを実行しようとすると、出力が得られません。そのため、問題を特定するために、コード内のさまざまなポイントでステートメントを出力しました。端末ウィンドウでのプログラムの出力 (それ自体に適用された場合) は、次のようになります。
./a.out < keywords.c
I've got past the beginning of the getword loop.
I've got past the beginning of the getword loop.
I'm past the word[0] condition.
Segmentation fault
別の検索方法 (構造体キー配列による線形検索) を使用すると、同じ出力の別の組み合わせが得られますが、今回はセグメンテーション違反はありません。printf ステートメントの出力を見ると、getword 関数に何か問題があるのではないかと考えがちです。では、これらのエラーの原因は何ですか?
以下は、二分探索関数と線形探索関数の両方を含むコード全体です。