我知道当函数调用自己时,它被称为递归。但是,当函数 A 调用调用 A 的函数 B 直到有一个 IF 语句停止整个过程时,你如何调用它。从一本 C 书看这个练习(顺便说一句,我能更好地解决这个问题吗?)
编写一个函数,显示一个包含四个编号选项的菜单并要求您选择一个。(输出应该与前面类似。)
编写一个有两个 int 参数的函数:一个下限和一个上限。该函数应该从输入中读取一个整数。如果整数超出限制,则该函数应再次打印菜单(使用此问题“a”部分中的函数)以重新提示用户,然后获取新值。当输入适当范围内的整数时,函数应将该值返回给调用函数。
使用本题“a”和“b”部分的函数编写一个最小程序。最少,我们的意思是它不需要实际执行菜单承诺的操作;它应该只显示选择并获得有效响应。
#include <stdio.h>
void Display(void);
int Limits(int a, int b);
int main(void)
{
Display();
return 0;
}
void Display()
{
int y = 0;
printf("1 - 2 - 3 - 4\n");
y = Limits(0, 100);
if(y < 100 && y > 0)
printf("%d\n", y);
}
int Limits(int a, int b)
{
int x;
scanf("%d", &x);
if(x < a || x > b)
Display();
return x;
}
输出:
1 - 2 - 3 - 4
1234
1 - 2 - 3 - 4
34456
1 - 2 - 3 - 4
123
1 - 2 - 3 - 4
-34
1 - 2 - 3 - 4
-23
1 - 2 - 3 - 4
88
88
Press [Enter] to close the terminal ...