gpt4 book ai didi

c - 在C中返回值后如何回调函数

转载 作者:太空宇宙 更新时间:2023-11-04 08:07:19 25 4
gpt4 key购买 nike

我写了一个使用二维数组的程序。
我有 2 个功能,一个是显示选项菜单(我没有涵盖其中的大部分),菜单调用另一个功能。

该函数正在执行菜单选项之一,即在剧院购买座位,如果用户想要的座位被占用,则该函数返回 0,如果未被占用,它返回 1 并将 seat 的值更改为 -1。情况是当函数返回一个值时,它结束了,我知道为什么,但是我怎样才能再次使用它呢?

这是菜单的代码:

void menu(int cinema[][SEATS_IN_ROW])
{
int choice = 0;
printf("Select an option:\n1 - Print cinema hall\n2 - Buy a ticket\n3 - Print number of taken seats\n4 - Make a seat discount\n5 - Set a new price for all seats\n6 - Exit\n");
scanf("%d", &choice);

switch (choice)
{
case 1:
printCinema(cinema, ROWS);
break;

case 2:
if(ticket(cinema) == 0)
{
printf("Seat taken!");
}
else
{
printf("You got the seat!");
}
break;
}
}

这是第二个功能(购买座位)的代码:

   int ticket(int cinema[][SEATS_IN_ROW])
{
int rows = 0 , cols = 0;
int flag = 0;

printf("Which row (0-4)?\n");
scanf("%d", &rows);
printf("Which seat (0-2)?\n");
scanf("%d", &cols);

if(cinema[rows][cols] == -1)
{
flag = 0;
}
else
{
cinema[rows][cols] = -1;
flag = 1;
}
return flag;
}

谢谢。

最佳答案

您应该在 menu() 中有一个循环,以便它一直运行直到用户告诉它退出。

关于c - 在C中返回值后如何回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41899189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com