GESP 一级 · GESP 一级样题(C++ 组) 第 13 题

选择题 · 答案 D · 考点:基础语法

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

题目

在下列代码的横线处填写( ),可以使得输出是“20 10”。 ![](https://cdn.luogu.com.cn/upload/image_hosting/e0lhy5bj.png)

答案:D

考点

基础语法

解题思维

这题考变量交换。拿到题先想:a 和 b 初始是 10 和 20,交换后必须变成 20 和 10。C++ 里交换变量值的标准解法永远是'临时变量',因为直接赋值会破坏原值。

常见错误

最容易掉进选项 A 的坑:以为赋值是对称的,忽略赋值是单向覆盖,a = b 后 a 就丢了,再 b = a 只会让 b 也变成原 b 的值。选项 C 看似不用临时变量,但会先求和导致溢出,且本质是运算而非交换。选项 B 需要头文件且逻辑复杂,一级大纲不考。记住:任何涉及交换的题,第一反应必须是'临时变量',这是 C++ 交换的元操作。

详细解析(节选)

变量交换:临时变量是王道

考点定位

这题属于 GESP 一级《基础语法》模块,命题人用这道题卡住的是 90% 考生对'交换'二字的机械记忆——以为赋值就是交换。

同考点真题

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