c言語にてリスト構造に要素を追加するinsert関数を作りました。
nodeの前にpを入れたいのですが、書き方が分かりません。
// nodeがpの次に来るように代入
の後に2行で書きたいのですがどなたかわかる方教えてください。
c
1#include <stdio.h> 2#include <stdlib.h> 3#include <string.h> 4 5#define LEN 10 6 7// 文字列1つとポインタの構造体 8typedef struct node{ 9 char str[LEN]; 10 struct node* next; 11} NODE; 12 13// インサート関数 14NODE* insert(char str[LEN], NODE* node){ 15 if(node != NULL){ // nodeが空でないなら 16 if(strcmp(str, node->str) > 0){ // 「str」が「node->str」より後に来る文字列の場合 17 insert(str, node->next); // 追加先をnode->nextにしてinsertを実行 18 }else 19 //挿入用ノードの生成 20 NODE* p = (NODE*)malloc(sizeof(NODE)); 21 strcpy(p->str, str); 22 23 // nodeがpの次に来るように代入 24 25 26 } 27 }else{ 28 node = (NODE*)malloc(sizeof(NODE)); 29 strcpy(node->str, str); 30 node->next = NULL; 31 } 32 33 return node; 34} 35
>// nodeがpの次に来るように代入
>の後に2行で書きたい
なぜ2行なのでしょうか。

回答3件
あなたの回答
tips
プレビュー