这是我得到的错误。我正在尝试用c语言实现链表。
prog.c:在函数'Insert'中:prog.c:33:26:错误:'node'未声明(首次在此函数中使用) struct node * temp =(node *)malloc(sizeof(struct node));
代码如下
#include<stdio.h>
#include<stdlib.h>
struct node{
int data;
struct node* next;
};
struct node* head;
void Insert(int x);
void Print();
int main(void){
head = NULL;
printf("how many numbers?");
int n,i,x;
scanf("%d",&n);
for(i=0;i<n;i++){
printf("Enter the number");
sacnf("%d",&x);
Insert(x);
Print();
}
return 0;
}
void Insert(int x){
struct node* temp = (node*)malloc(sizeof(struct node));
temp->data = x;
(*temp).next = head;
head = temp;
}
void Print(){
struct node* temp = head;
printf("\nThe List is ");
while(temp!=NULL){
printf(" %d", temp->data);
temp=temp->next;
}
}
答案 0 :(得分:2)
问题出在功能struct node* temp = (node*)malloc(sizeof(struct node));
的第void Insert(int x)
行,应为struct node* temp = (struct node*)malloc(sizeof(struct node));
。您可以找到已更正且有效的代码Here。
注意在功能sacnf("%d",&x);
的第main(void)
行中,它应为scanf("%d",&x);