整数の並んだ単連結リストを読み込み、出力する例題が示されている。 最後に、リストに並んだ「奇数番目の」セルの数値の合計を求めて出力 したい(先頭が1番とする)。合計を求めて返する関数funcを作成せよ。 再帰は用いても用いなくてもよい。
#include <stdio.h> #include <stdlib.h> struct node { int data; struct node *next; }; typedef struct node *nodep; nodep rlist(void) { int i; printf("i> "); scanf("%d", &i); if(i == 0) { return NULL; } nodep p = (nodep)malloc(sizeof(struct node)); p->data = i; p->next = rlist(); return p; } void plist(nodep p) { if(p == NULL) { printf("\n"); return; } printf(" %d", p->data); plist(p->next); } int main(void) { nodep list = rlist(); plist(list); // printf("%d\n", func(list)); return 0; }