这是我的代码。我相当确定我已经正确实现了链接列表,但我认为存在一些语法错误。
#include <stdio.h>
#include <stdlib.h>
struct node {
int data;
struct *node next;
};
void push(struct node** headRef, int data)
{
struct node* newNode;
newNode = malloc(sizeof(struct node));
newNode->data = data;
newNode->next = *headRef;
*headRef = newNode;
}
struct node* primeFactors(int num)
{
struct node* head = NULL;
if (num == 1)
{
return head;
}
int factor = 0;
int i = 2;
while (i <= num)
{
if (num % i)
{
factor = i;
}
}
push(&head, factor);
primeFactors(num / factor);
return head;
}
int main(int argc, char const *argv[])
{
struct node* head = primeFactor(600851475143);
printf("%d/n", head->data);
}
这是我的错误。我不知道其中大部分是什么意思,并且 struct node 肯定应该有一个名为 next 的成员。
[1] $ gcc 3.c -o 3 3.c:6:9: 错误: '*' 标记之前的预期'{' 3.c:在“推”功能中: 3.c:14:9:错误:“结构节点”没有名为“下一个”的成员 3.c:在函数'main'中: 3.c:42:22: 警告:初始化使指针从整数而不进行强制转换 [默认启用]
帮助真的很感激!