c语言中main函数中的函数怎么调用函数?
展开全部
)
原因:主函数中chose为char型,若menu返回的为int型无法自动转换为char型
2)建议将menu函数放在main主函数前,或在main主函数前进行声明char menu(void);
3)建议将scanf("%c", &choice);改为choice=getchar();这样就需要将变量choice声明为int型,仍使用原来的int menu()函数,同时将main主函数中的变量chose声明为int型
4)建议若使用C编译器(如TC2.0),请将变量声明与函数起始处
修改后的程序
int menu()
{
int choice;
printf("A<-Manage Search->B\n");
printf("C<-Sort flight informations\n");
printf("D.bookTicketE.returnticket F.staticticket\n");
printf("G.Exit the Aircraft Booking System!\n");
printf(" -----What do you want to do :");
choice = getchar();
return choice;
}
int main()
{
int chose;
while(1)
{
chose=menu();
switch(chose)
{
case 'A':
manageflight();
break;
case 'B':
flightsearch();
break;
case 'C':
sortinformation();
break;
case 'D':
flightbook();
break;
case 'E':
flightdishonnor();
break;
case 'F':
flightstatic();
break;
case 'G':
return 0;
default:
printf("\n--input error !--\n");
}
}
return 0;
}
原因:主函数中chose为char型,若menu返回的为int型无法自动转换为char型
2)建议将menu函数放在main主函数前,或在main主函数前进行声明char menu(void);
3)建议将scanf("%c", &choice);改为choice=getchar();这样就需要将变量choice声明为int型,仍使用原来的int menu()函数,同时将main主函数中的变量chose声明为int型
4)建议若使用C编译器(如TC2.0),请将变量声明与函数起始处
修改后的程序
int menu()
{
int choice;
printf("A<-Manage Search->B\n");
printf("C<-Sort flight informations\n");
printf("D.bookTicketE.returnticket F.staticticket\n");
printf("G.Exit the Aircraft Booking System!\n");
printf(" -----What do you want to do :");
choice = getchar();
return choice;
}
int main()
{
int chose;
while(1)
{
chose=menu();
switch(chose)
{
case 'A':
manageflight();
break;
case 'B':
flightsearch();
break;
case 'C':
sortinformation();
break;
case 'D':
flightbook();
break;
case 'E':
flightdishonnor();
break;
case 'F':
flightstatic();
break;
case 'G':
return 0;
default:
printf("\n--input error !--\n");
}
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就这样调用啊,这叫嵌套调用
如:
int max(){}
void sort(){}
int main()
{
int m;
.......
sort{ m=max();........ }
.........
}
如:
int max(){}
void sort(){}
int main()
{
int m;
.......
sort{ m=max();........ }
.........
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不太明白你什么意思,调用函数通过函数名调用,或都可以通过函数指针调用
int fun1()
{
};
int (*pfun)();
main()
{
fun1();//直接调用
p=fun1;
(*p)();//调过指针调用
}
int fun1()
{
};
int (*pfun)();
main()
{
fun1();//直接调用
p=fun1;
(*p)();//调过指针调用
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是属于函数的嵌套吗?如果是,就直接在写外函数b时按照在主函数里调用外函数的形式调用a就行了啊。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |