求数据结构(C语言)大侠帮忙啊!!为什么这个程序运行的时候总是陷入无限循环了啊?而且不能返回主函数了

#include"stdio.h"
#include"malloc.h"
#include"stdlib.h"
/*结构体定义*/
typedef struct{
char name[10]; //姓名
char age[8]; //性别
char phone[15]; //电话号码
char email[20]; //电子邮件地址
char adds[20]; //家庭住址
char QQ[15]; //腾讯QQ
}ElemType;

typedef struct LNode
{ ElemType data;
struct LNode *next;
}LNode,*Linklist;

int menu_select()
{char c;
do{
system("cls");
printf("\t\t ***** ***** ***** ***** 通讯录 ***** ***** ***** *****\n");
printf("\t\t ************************************\n");
printf("\t\t\t\t │ 1.【添加记录】 │\t\t\t\t\n");
printf("\t\t\t\t │ 2.【显示记录】 │\t\t\t\t\n");
printf("\t\t\t\t │ 3.【删除记录】 │\t\t\t\t\n");
printf("\t\t\t\t │ 4.【查询记录】 │\t\t\t\t\n");
printf("\t\t\t\t │ 5.【修改记录】 │\t\t\t\t\n");
printf("\t\t\t\t │ 6.【保存记录】 │\t\t\t\t\n");
printf("\t\t\t\t │ 0.【退出程序】 │\t\t\t\t\n");
printf("\t\t ************************************\n");
printf("\t\t请输入对应功能编号<0-6>:");
scanf("%s",&c);
}while(c<'0'||c>'6');
return c-'0';
}

Linklist input(Linklist p)
{
Linklist head=(LNode *)malloc(sizeof(LNode));
LNode *r,*P;
int cbh=1;
int v;
r=head;
while(cbh)
{
P=(LNode*)malloc(sizeof(LNode));
printf("请输入姓名");
scanf("%s",p->data.name);
printf("性别");
scanf("%s",p->data.age);
printf("电话号码");
scanf("%s",p->data.phone);
printf("电子邮箱");
scanf("%s",p->data.email);
printf("家庭住址");
scanf("%s",p->data.adds);
printf("QQ");
scanf("%s",p->data.QQ);

r->next=p;
r=p;

do
{

printf("\n\t是否继续添加?(Y/N)");
scanf("%c",&v); ; printf("\n");
}while(v!='Y'||v!='y'||v!='N'||v!='n');
if (v=='y'||v=='Y')
cbh=1;
else if(v=='n'||v=='N')
cbh=0;
}
if(cbh=1)
printf("创建成功");
r->next=NULL;
return(head);
}

void main()
{
Linklist head;
head=(Linklist)malloc(sizeof(LNode));
head->next=NULL;
int n=0;
for(;;)
{
switch(menu_select())
{
case 1:
input(head);
break;
case 2:
printf("1222232");
}
}
}
求大侠帮忙修改一下,感激不尽!!

你判断输入的时候不对啊,那句
do
{

printf("\n\t是否继续添加?(Y/N)");
scanf("%c",&v); ; printf("\n");
}while(v!='Y'||v!='y'||v!='N'||v!='n');
while后面条件应该是且才对
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-12-03
。。。。。。
Linklist head=(LNode *)malloc(sizeof(LNode));
LNode *r,*P;
int cbh=1;
int v;//试着把这儿改为char v;试试呢
。。。
第2个回答  2011-12-03
scanf("%s",&c);
这里%s输的是字符串,汗

求数据结构(C语言)大侠帮忙啊!!为什么这个程序运行的时候总是陷入无限循...
while后面条件应该是且才对

数据结构C语言版迷宫问题
首先,迷宫如何用计算机语言表示?一般用二维数组。0表示墙,1表示路。其次,其次就是如何从迷宫中走出来了。结合堆栈,进行搜索。你可以尝试着对问题进行分层,然后逐步细化来解决。如果你要解决一个别人给的走迷宫的问题,同样还是要这样,首先把别人给的迷宫在计算机中表示出来,其次结合数据结构所学的知...

搞懂这8个C语言问题,你也能进大厂
在C语言中,关键字static有三个明显的作用:第一、在修饰变量的时候,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。 第二、static修饰全局变量的时候,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extern外部声明也不可以。 第三、static修饰一个函数,则...

c语言 runtime error
2、输出的时候也有问题,fun函数返回值是int,所以应该是:printf("\\nThe value of function is:%d\\n",fun(arr));

c语言数据结构猴子吃桃问题
include "stdio.h"taozi(int day){ if(day==7){ return(1);} return(taozi(day+1)+1)*2;} void main(){ printf("%d\\n",(taozi(1)\/2)-1);}

大侠们!给点建议吖。。。学C的要求。。。我打算重学英语(新概念全套四...
给我感觉,C语言最好是谭浩强教授的 C程序设计 一书。它特别基础,当然你要是有一定基础那就看C Primer Plus。看 C程序设计 的时候最好概念和基本语句都记住(包括基本语句哟),等你到数据结构时好处就显示出来了。看完 C程序设计 后,学数据结构的时候推荐你本书[数据结构案例教程(c语言版)]....

请大侠帮我看看这个VBA运行速度超慢的原因在哪,该怎么优化?
根据你提供的 VBA 代码,我发现其中存在一些可能导致运行速度变慢的原因。以下是一些建议的优化方法:避免频繁的选择和激活工作表和单元格,这会减慢代码的执行速度。推荐直接引用工作表和单元格的方式进行操作。避免在循环中频繁地复制粘贴单元格,可以通过直接赋值的方式来提高效率。尽量减少在循环中进行文件...

大虾帮帮忙吧,C语言的,真心不会呀!谢谢啦!我邮箱CUG20121004361@163.com...
给定两个点就行了,在直角坐标系中,画出一条直线,默认是红色的,要求:在不同的区域,直线的颜色标记一个给定的范围内,直线以外的区域是白色的,直线黄色 程序是这样的:\/ \/添加graphics.h的头文件 const int的宽x长= 100 WXR = 400 WYB = 100位元堂= 300 ;\/ \/声明参数 号码参考面积 typed...

C语言问题,十进制转换任何进制数,请问错在哪?无限循环了好像
1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。解:mian(){int a,b,c,max;printf(“请输入三个数a,b,c:\\n”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if(max<b)max=b;if(max<c)max=c;printf(“最大数为:“%d”,max);}第三章3.6写出以下程序运行的结果。main(){char c1=’a...

操作系统老师让我们,用最简单的C语言知识,实现操作系统中多级反馈队列...
也就是说,位于队列Q2中有N个作业,它们的运行时间是通过Q2这个队列所设定的时间片来确定的(为了便于理解,我们也可以认为特定队列中的作业的优先级是按照FCFS来调度的)。 3、各个队列的时间片是一样的吗?不一样,这就是该算法设计的精妙之处。各个队列的时间片是随着优先级的增加而减少的,也...

相似回答