问题描述:
根据下列代码和结果回答下列问题。
// Created by 黑马程序员.
#include "iostream"
using namespace std;
/*
* 喜欢小美,正在追求中,每天的追求方案有3种:
* 1. 送早餐、送花、说喜欢
* 2. 送花、说喜欢、邀请一起看电影
* 3. 邀请一起看电影、送花、说喜欢
*
* 用函数的思想,模拟这些动作。
*/
void send_food()
{
cout << "小美,我给你买了早餐!" << endl;
}
void send_floor()
{
cout << "小美,我给你买了玫瑰花,你真好看。" << endl;
}
void say_love()
{
cout << "小美,我很喜欢你!" << endl;
}
void watch_movie()
{
cout << "小美,我们一起看电影去吧。" << endl;
}
void i_like_you(int num)
{
switch (num)
{
case 1:
send_food();
send_floor();
say_love();
break;
case 2:
send_floor();
say_love();
watch_movie();
break;
case 3:
watch_movie();
send_floor();
say_love();
break;
default:
cout << "今天不追求小美了,去打球去。!" << endl;
}
}
int main()
{
cout << "今天天气不错,执行方案3追求小美" << endl;
i_like_you(3);
cout << "第二天,天气也不错,执行方案2" << endl;
i_like_you(2);
return 0;
}
D:\CLion_code\cmake-build-debug\CLion_code.exe
今天天气不错,执行方案3追求小美
小美,我们一起看电影去吧。
小美,我给你买了玫瑰花,你真好看。
小美,我很喜欢你!
第二天,天气也不错,执行方案2
小美,我给你买了玫瑰花,你真好看。
小美,我很喜欢你!
小美,我们一起看电影去吧。
Process finished with exit code 0
函数内部可以嵌套调用其他函数吗?函数作为一个独立的代码单元,可以在函数内调用其它函数。这种嵌套调用关系没有任何限制,可以根据需要无限嵌套。
问题解答:
是的,函数内部可以嵌套调用其他函数。C++中,函数是独立的代码单元,允许在一个函数内调用其他函数。这种嵌套调用没有限制,可以根据需要在函数内部调用任意数量的其他函数。
示例解释
在你提供的代码中,i_like_you(int num)
函数内部根据传入的参数num
,调用了不同的函数组合,例如send_food()
、send_floor()
、say_love()
和watch_movie()
。这种方式展示了函数嵌套调用的灵活性和实用性。
代码片段:
void i_like_you(int num)
{
switch (num)
{
case 1:
send_food();
send_floor();
say_love();
break;
case 2:
send_floor();
say_love();
watch_movie();
break;
case 3:
watch_movie();
send_floor();
say_love();
break;
default:
cout << "今天不追求小美了,去打球去。!" << endl;
}
}
在这个例子中,根据不同的num
值,i_like_you
函数内部选择不同的追求方案,然后调用相应的函数来执行这些动作。例如,当num
为3
时,依次调用了watch_movie()
、send_floor()
和say_love()
函数。
总结
函数嵌套调用是一种常见且强大的编程实践,它允许开发者通过模块化设计和代码重用来简化复杂的操作逻辑,使代码更加清晰和易于维护。