- 130 名前:デフォルトの名無しさん [2008/01/16(水) 23:55:12 ]
- ITEM *insert(ITEM **root, char*str)
{ ITEM *pos; ITEM *tmp; tmp = (ITEM *) *malloc(sizeof (ITEM));//領域取得 if(tmp == NULL){//取得領域失敗 return NULL; } //取得した領域の初期化 memset((void *)tmp, '\0', sizeof(ITEM)); strcpy(tmp -> str , str); //入力された文字列を領域に設定 //*rootに保存 if(*root == NULL){ //リストが空か? *root = tmp ; } else{//リストの末尾を探して追加 pos = *root; while(pos -> next != NULL){ //次はあるか? pos = pos -> next; } pos -> next = tmp; } return tmp; } 入力された文字列をリストに格納するプログラムの一部です。 しかしこれだと最後に入力した文字列が表示されなくて困っています。 おそらくこの部分に問題があると思うのですが、おかしい部分はあるでしょうか?
|

|