[c言語]リスト構造の任意のノードに任意のデータを挿入するプログラムを作成したいです。下のプログラムを実行したところ

ベストアンサー

0

ありがとうございます 求めていた動作を得られました 重ねての質問で申し訳ないのですが while(ptr->next &&node >1){ このwhile文の条件の意味は ptr->nextがNULLでない かつ nodeが1より大きい という解釈で合っていますか?

その他の回答(1件)

0

他力本願する前に、デバッガ使って問題個所を絞り込むことが出来ないと、キミの将来は暗いぞ わたしゃ最近デバッガは使わずprintf()デバッグばっかだけど

1. struct List{ int data; struct List *next; }; struct List は、list の 部品である node を表している 名前を node に改めるべきだ typedef struct Node{ int data; struct Node *next; } Node; 2.main() の中で struct List のメンバに直接アクセスするのは良くない insert_at_top() とか insert_at_tail() とかでライブラリ化するべし 3.insert_node() で struct List* ptr; が初期化されていない 、どこから読み始めるのか判らないので、デタラメな場所をアクセスし 「Segmentation fault (core dumped)」になる(事が有る) 文字数制限回避のため続く