重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
void main()
成都创新互联是一家集网站建设,陆川企业网站建设,陆川品牌网站建设,网站定制,陆川网站建设报价,网络营销,网络优化,陆川网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
{
stu stu[N];int len=0,x;
while((x=welcomepage())!=0) //只要不输出0,就一直循环操作
{
switch(x)
{
case 1:initlist(stu,len);break; //选项调用函数
case 2:inputdata(stu,len);break;
case 3:insertdelete(stu,len);break;
case 4:showdata(stu,len);break;
case 5:showall(stu,len);break;
case 6:savedata(stu,len);break;
}
}
}
int welcomepage(void)
{
int x;
printf("\n1.数据库初始化");
printf("\n2.输入数据");
printf("\n3.插入删除数据");
printf("\n4.显示学生信息");
printf("\n5.显示所有信息");
printf("\n6.保存所有信息");
printf("\n0.退出系统");
printf("\n");
scanf("%d",x);
return x;
}
这种结构属于典型的间接递归调用,每个函数都必须有“某种情况下的直接出口”,否则是无穷尽死递归,很快耗尽栈而发生内存泄漏。想在某情况下跳转到某处,最典型的语句的goto,但那是不提倡使用的,特别是在本结构中,因为不很大潜在危险。
函数都是并列关系,不存在一个嵌套另一个的问题,只能是一个调用另一个,在其中又调用另一个,一层层调用,正常情况都只有一个返回出口,也是一层一层返回,不能跳过。
不知道LZ到底想要干什么。
如果没有函数调用,函数是不会执行的。
如果按照LZ的一直跳回,那g()的后半部分永远都不会执行,那后半部分有什么用呢?
f()
{
//...
g();//在f()的最后面调用g,保证f执行之后,g会跟着执行
}
g()
{
//...
f();//在g执行到一半的时候,跳到f();
//...
}
main()
{
f();
}
最简单的方式就是在你调用的函数后面加跳转语句
例如
goto
a;
然后你在你MAIN函数的定义变量的后面加上a:就行了
虽然不推荐用这种方式
但这是最简单的。
你也可以用其他的例如
while
for
do
while
等循环语句写这个