私は出力を出力するユーザ定義関数を作る方法にちょっと固執しています。私はまた、各ノードのデータを追加して合計を印刷するユーザー定義関数を作成する必要がありますが、正しく加算されていないので、フォーマットも少しずれています。Cでユーザ定義の関数とリンクリスト
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
char printout();
int sum();
typedef struct node
{
int number;
struct node*next;
} node;
char printout()
{
};
int sum()
{
int s,sum_all=0, node_sum=0;
for(s=0;s=100;s++)
{
sum_all=node_sum+s;
return printf("The sum of all nodes is %d.\n",sum_all);
};
};
int main()
{
srand (time(NULL));
int i, total=0;
struct node*head=malloc(sizeof(struct node));
head->number = rand()%100;
printf("Node #%d contains %d.\n", 0, head->number);
struct node*here=head;
for (i=1; i<100; i++)
{
here->next=malloc(sizeof(struct node));
here->number=rand()%100;
printf("Node #%d contains %d.\n", i, here->number);
};
total=sum(here->number);
printf("%2.2d", total);
return 0;
}
挿入がうまくいかないのは分かっています:(ここでは、 'here-> next'をどこにでも上書きしないで、つまりリークしません。実際にはリンクされています:) – ThingyWotsit
最初の反復で戻り値を返すときに、関数 'sum'の' for'ループのポイントは何ですか? –
なぜ関数の戻り値の型が 'printout''char'ですか? – BLUEPIXY