文字列判定プログラム
Posted: 2007年6月10日(日) 01:29
あらかじめ与えられた文字列の集合に対し、文字を入力して、その集合の要素かどうかを判定するプログラムを作っています。
プログラムの条件としては
1 文字列の集合を、以下の構造体を用いたリストとして記述すること
struct cell{
char animal[20];
struct cell *next;
};
2 再帰的関数memberを使って、文字列の判定を行うこと。
memberのプロトタイプ宣言
int member(char * , struct cell *);
第1引数:文字列 第2引数:リストへのポインタ
返り値:第1引数の文字列が第2引数のリストの要素なら1を、そうでなければ0を返す。
3 今回、文字列の集合は
{rat,cat,dog,elephant,horse,bat,hamster}
と与えられている。
4 00と入力すると、プログラム終了
という条件の下私はこのようなプログラムを作りました.(添付ファイル)
このプログラムは、コンパイルはできるのですが、実行するとセグメントエラーをおこしてしまいます。
コンパイル時にエラーが表示されない以上、私の実力ではどうすることもできません。
このプログラムはどこがいけないのでしょうか?
何処を改善すればちゃんと作動するようになるのでしょうか?
是非とも教えていただきたいです。宜しくお願いします。
プログラムの条件としては
1 文字列の集合を、以下の構造体を用いたリストとして記述すること
struct cell{
char animal[20];
struct cell *next;
};
2 再帰的関数memberを使って、文字列の判定を行うこと。
memberのプロトタイプ宣言
int member(char * , struct cell *);
第1引数:文字列 第2引数:リストへのポインタ
返り値:第1引数の文字列が第2引数のリストの要素なら1を、そうでなければ0を返す。
3 今回、文字列の集合は
{rat,cat,dog,elephant,horse,bat,hamster}
と与えられている。
4 00と入力すると、プログラム終了
という条件の下私はこのようなプログラムを作りました.(添付ファイル)
このプログラムは、コンパイルはできるのですが、実行するとセグメントエラーをおこしてしまいます。
コンパイル時にエラーが表示されない以上、私の実力ではどうすることもできません。
このプログラムはどこがいけないのでしょうか?
何処を改善すればちゃんと作動するようになるのでしょうか?
是非とも教えていただきたいです。宜しくお願いします。