I have this prog....but it prints only the 1st no....I am unable to understand
y?
// Link List.
# include<stdio.h>
# include<stdlib.h>
struct emp
{
int eno;
struct emp* next;
};
typedef struct emp node;
int main()
{
node* create(node *ptr);
void print(node *ptr);
node *start;
int ch;
clrscr();
start = NULL;
while(ch != 3)
{
printf("\n 1. Create \n 2. Print: ");
scanf("%d",&ch);
switch(ch)
{
case 1:
start = create(start);
break;
case 2:
print(start);
case 3:
exit(0);
default:
printf("\n abc");
}
}
return(0);
}
node* create(node *start)
{
node *temp;
int n=0;
clrscr();
start = temp = NULL;
while(n!=1)
{
printf("\n Enter ENo: ");
flushall();
scanf("%d",&n);
if(start == NULL)
{
start = (node*)malloc(sizeof(node));
start->eno = n;
start->next = NULL;
temp = start;
}
else
{
temp = (node*)malloc(sizeof(node));
temp->next->eno = n;
temp->next->next = NULL;
temp = temp->next;
}
}
return(start);
}
void print(node *start)
{
node *temp;
clrscr();
temp = start;
while(temp != NULL)
{
printf("\n %d",temp->eno);
temp = temp -> next;
}
}