用c语言实现单向链表的输入和输出,我也不知道哪里出错了,用VS2010运行的结果是一闪而过
就是自己输入一串数据(整型),然后每输一个就按回车,我的想法是,当输入的数字为0的时候,自动停止输入,然后输出,可是每次在输入了一串数字后,输入0,按回车就自动跳出exe...
就是自己输入一串数据(整型),然后每输一个就按回车,我的想法是,当输入的数字为0的时候,自动停止输入,然后输出,可是每次在输入了一串数字后,输入0,按回车就自动跳出exe了。。也不输出了。。求大神。。帮忙找一下原因
#include<stdio.h>
#include<malloc.h>
#define LEN sizeof(struct Number)
struct Number{
int num;
struct Number*next;};
int n;
struct Number* creat(void)
{struct Number*head;
struct Number*p1,*p2;
int n=0;
p1=p2=(struct Number*)malloc(LEN);
scanf("%d",&p1->num);
head=NULL;
while(p1->num!=0)
{n=n+1;
if(n==1)head=p1;
else p2->next=p1;
p2=p1;
p1=(struct Number*)malloc(LEN);
scanf("%d",&p1->num);}
p2->next=NULL;
return(head);
}
void print(struct Number*head)
{struct Number*p;
printf("刚才输入的数列按以下顺序出列");
p=head;
//if(head!=NULL)
do
{printf("%d",p->num);
p=p->next;
}while(p!=NULL);
}
void main()
{printf("请输入一组序列");
struct Number *head;
head=creat();
print(head);
}
如果输入的是
3
4
5
0
然后就一闪而过了
额。。//if(head!=NULL)。。把if前面的注释符号去掉。。运行结果也是一样的 展开
#include<stdio.h>
#include<malloc.h>
#define LEN sizeof(struct Number)
struct Number{
int num;
struct Number*next;};
int n;
struct Number* creat(void)
{struct Number*head;
struct Number*p1,*p2;
int n=0;
p1=p2=(struct Number*)malloc(LEN);
scanf("%d",&p1->num);
head=NULL;
while(p1->num!=0)
{n=n+1;
if(n==1)head=p1;
else p2->next=p1;
p2=p1;
p1=(struct Number*)malloc(LEN);
scanf("%d",&p1->num);}
p2->next=NULL;
return(head);
}
void print(struct Number*head)
{struct Number*p;
printf("刚才输入的数列按以下顺序出列");
p=head;
//if(head!=NULL)
do
{printf("%d",p->num);
p=p->next;
}while(p!=NULL);
}
void main()
{printf("请输入一组序列");
struct Number *head;
head=creat();
print(head);
}
如果输入的是
3
4
5
0
然后就一闪而过了
额。。//if(head!=NULL)。。把if前面的注释符号去掉。。运行结果也是一样的 展开
2013-01-10
展开全部
你没停住,程序运行后就没了。你当然看不见。你再后面加一句int a; cin>>a;
或者char c; c=getchar();
sytem("pause");
或者char c; c=getchar();
sytem("pause");
更多追问追答
追问
加了int a; cin>>a;之后会报错。。说cin是未定义标识符
追答
你没加头文件 #include
你要是c语言的,你就加char c; c=getchar();
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询