我在链接列表中的"下一个"变量中分配了输入变量的用户很难。(即head-> next-> num = sul(通常将节点封闭在括号中的作品中,以将变量分配给列表中的一个项目,但我似乎无法将相同的逻辑应用于列表中的下一个项目。我不确定这是语法问题还是分配,但它会一直存在。我在说什么的代码示例。
#include <stdio.h>
#include <stdlib.h>
typedef struct fib {
long long num;
struct fib *next;
} fib;
typedef void (*callback)(fib *point);
char menu();
void welcome();
void help();
void exitmssg();
void print(fib *head, callback f);
void display(fib *n);
fib *run(fib *head, int count);
void main() {
long long num1, num2, sum;
int count;
callback disp = display;
fib *head, *pointer, *append;
welcome();
head = malloc(sizeof(fib));
pointer = malloc(sizeof(fib));
printf("Please enter two starting fibonacci numbers:n");
scanf("%lli", &num1);
scanf("%lli", &num2);
(head->num) = num1;
(head->next->num) = num2;
//((head->next)->num) doesn't work either
任何帮助将不胜感激。
您正在尝试使用非初始化的指针。head->next
未初始化。
head = malloc(sizeof(fib));
pointer = malloc(sizeof(fib));
head->num = num1;
head->next = pointer; // Now next points to something
head->next->num = num2;
pointer->next = NULL; // This needs initialization too
这不是语法错误 - 这是一个运行时错误。如果是语法错误,则编译器会告诉您,并且不会编译/运行。
demo