GESP 三级 · GESP 202509 C++ 三级 第 5 题

选择题 · 答案 B · 考点:函数

← 整套速查表 GESP 三级 全部真题

题目

要正确定义一个返回两个整数中较大值的函数 max,应该使用( )。

答案:B

考点

函数

解题思维

答案B。函数必须有函数名。函数可以没有参数,可以没有返回值(void类型),定义可以在调用之后(需提前声明)。

常见错误

函数必须有名称,但可以有默认参数。参数默认以值传递(传值)。函数未被调用时参数不占内存。

详细解析(节选)

【考点】函数返回值类型|函数参数声明|变量作用域与默认值陷阱

🧠 解题思维:核心判断链是"return 语句必须匹配函数返回类型"。A、D 声明 void 却强行用 return 返回整型,违反 C++ 语法——void 函数只能 return 或省略;C 参数缺类型声明,C++ 不允许无类型参数;B 完整定义了 int 返回类型、两个 int 参数,且用 if 分支返回较大值,逻辑与语法双正确。

🪤 陷阱拆解:A 选项利用"return 看似万能"的错觉,void 函数不能用 return 返回值;C 选项偷换参数声明规则,C++ 参数必须显式类型;D 选项更隐蔽——void 函数却调用 cout,还漏写 #include <iostream>,属于"编译都过不了"的硬伤。命题人没让你 print 就让你 return,这是最基础的函数定义规则。

🔄 反命题思维:若改成"输出较大值",void 函数可接受但需补头文件;若参数用引用传递,函数签名会完全改变。刷到此类题先问自己:题目要求返回还是输出?参数要不要显式类型?

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断