主题:[新人求助]想问一下,我的线性表为什么不能显示,谢谢大家~~~急
建立完表之后,选2,SHOWLIST,但是显示不出,大家能帮帮我吗?
程序如下
#include <stdio.h>
typedef struct linknode
{
char data;
struct linknode *next;
}node;
node *head;
int n=0; // 线性表长度
void CreateList() // 建立线性表
{
node *p,*s;
char x;
int z=1;
head=new node;
p=head;
printf("\n线性表建立中……");
printf("\n说明:请逐个输入字符,结束标记为'x'!\n");
while(z)
{
printf("\t请输入:");
scanf("%c",&x);
getchar();
if(x!='x')
{
s=new node;
n++;
s->data=x;
p->next=s;
s->next=NULL;
p=s;
}
else z=0;
}
}
void ShowList() // 显示线性表
{
node *p=head;
printf("\n\t\t显示线性表的所有元素:");
printf("\n\t\t");
while(p->next!=NULL)
{
printf("\t\t%c",p->next->data);
p=p->next;
}
}
int main()
{
int choice;
int i=0;
head=NULL;
while(i==0)
{
printf("1:creat\n2:del\ninput your choice:\t");
scanf("%d",&choice);
if(choice==1)
CreateList();
if(choice==2)
ShowList();
}
}
程序如下
#include <stdio.h>
typedef struct linknode
{
char data;
struct linknode *next;
}node;
node *head;
int n=0; // 线性表长度
void CreateList() // 建立线性表
{
node *p,*s;
char x;
int z=1;
head=new node;
p=head;
printf("\n线性表建立中……");
printf("\n说明:请逐个输入字符,结束标记为'x'!\n");
while(z)
{
printf("\t请输入:");
scanf("%c",&x);
getchar();
if(x!='x')
{
s=new node;
n++;
s->data=x;
p->next=s;
s->next=NULL;
p=s;
}
else z=0;
}
}
void ShowList() // 显示线性表
{
node *p=head;
printf("\n\t\t显示线性表的所有元素:");
printf("\n\t\t");
while(p->next!=NULL)
{
printf("\t\t%c",p->next->data);
p=p->next;
}
}
int main()
{
int choice;
int i=0;
head=NULL;
while(i==0)
{
printf("1:creat\n2:del\ninput your choice:\t");
scanf("%d",&choice);
if(choice==1)
CreateList();
if(choice==2)
ShowList();
}
}