void main()
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設,陸川企業(yè)網(wǎng)站建設,陸川品牌網(wǎng)站建設,網(wǎng)站定制,陸川網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,陸川網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
{
stu stu[N];int len=0,x;
while((x=welcomepage())!=0) //只要不輸出0,就一直循環(huán)操作
{
switch(x)
{
case 1:initlist(stu,len);break; //選項調(diào)用函數(shù)
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.數(shù)據(jù)庫初始化");
printf("\n2.輸入數(shù)據(jù)");
printf("\n3.插入刪除數(shù)據(jù)");
printf("\n4.顯示學生信息");
printf("\n5.顯示所有信息");
printf("\n6.保存所有信息");
printf("\n0.退出系統(tǒng)");
printf("\n");
scanf("%d",x);
return x;
}
這種結構屬于典型的間接遞歸調(diào)用,每個函數(shù)都必須有“某種情況下的直接出口”,否則是無窮盡死遞歸,很快耗盡棧而發(fā)生內(nèi)存泄漏。想在某情況下跳轉(zhuǎn)到某處,最典型的語句的goto,但那是不提倡使用的,特別是在本結構中,因為不很大潛在危險。
函數(shù)都是并列關系,不存在一個嵌套另一個的問題,只能是一個調(diào)用另一個,在其中又調(diào)用另一個,一層層調(diào)用,正常情況都只有一個返回出口,也是一層一層返回,不能跳過。
不知道LZ到底想要干什么。
如果沒有函數(shù)調(diào)用,函數(shù)是不會執(zhí)行的。
如果按照LZ的一直跳回,那g()的后半部分永遠都不會執(zhí)行,那后半部分有什么用呢?
f()
{
//...
g();//在f()的最后面調(diào)用g,保證f執(zhí)行之后,g會跟著執(zhí)行
}
g()
{
//...
f();//在g執(zhí)行到一半的時候,跳到f();
//...
}
main()
{
f();
}
最簡單的方式就是在你調(diào)用的函數(shù)后面加跳轉(zhuǎn)語句
例如
goto
a;
然后你在你MAIN函數(shù)的定義變量的后面加上a:就行了
雖然不推薦用這種方式
但這是最簡單的。
你也可以用其他的例如
while
for
do
while
等循環(huán)語句寫這個