我用C写了一个代码,但是在执行时,它是一个错误。
我可以知道如何组合正确的结构吗? 恳请指教,谢谢
输出结果:
Enter integers: 23 12 34 56 78 12
Traversing the list : 23->12->34->56>78->12
Minimum value : 12
Reversing the list: 12->78->56->34->12->23
代码:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
struct node
{
int data;
struct node *next;
} *head;
void insert_data(int value)
{
struct node *var,*temp;
temp=head;
var=(struct node *)malloc(sizeof(struct node));
var->data=value;
if(head==NULL)
{
head=var;
head->next=NULL;
}
else
{
while(temp->next!=NULL)
{
temp=temp->next;
}
var->next=NULL;
temp->next=var;
}
}
void reverse_list()
{
struct node *temp,*temp1,*var;
temp=head;
var=NULL;
while(temp!=NULL)
{
temp1=var;
var=temp;
temp=temp->next;
var->next=temp1;
}
head=var;
}
void display()
{
struct node *var;
var=head;
printf("nlist of elments are n");
while(var!=NULL)
{
printf(" %d ->",var->data);
var=var->next;
}
}
int main()
{
int i,value;
char ch='y';
head=NULL;
printf("nEnter Integers: ");
scanf("%d",&value);
insert_data(value);
display();
getch();
return 0;
}
无法理解问题,但您的代码只要求一个元素。
创建一个循环,以便能够输入更多元素:
int main()
{
int i,value = 0;
char ch='y';
head=NULL;
printf("nEnter Integers: ");
// here it is
while (value != -1) {
scanf("%d",&value);
insert_data(value);
display();
}
getch();
return 0;
}