椰程信奥

海南科技特长生
添加微信进群聊 微信扫码添加好友
-5 >> 1 的结果是什么?—— 算术右移与向下取整陷阱

-5 >> 1 的结果是什么?—— 算术右移与向下取整陷阱

2026-09-11

-5 >> 1 的结果是 -3:负数是算术右移(补符号位),等价于向下取整除法 floor(-5/2),而 -5/2 = -2 是向零取整,两者在负奇数时差 1。附补码演示、通用规律与 CSP-J 考点总结。

cin >> a 后接 getline 读到空串?—— 缓冲区残留换行符陷阱

cin >> a 后接 getline 读到空串?—— 缓冲区残留...

2026-09-11

cin >> a 混用 getline 的经典陷阱:>> 不消耗换行符,残留的 \n 使 getline 读到空串,输出 []。附缓冲区逐步演示、cin.ignore 修复方法与 CSP-J 考点总结。

cout << scientific << x 输出什么?—— 默认精度 6 与有效数字

cout << scientific << x 输出什么?—— 默...

2026-09-11

cout << scientific << 123456.789 的输出是 1.234568e+05。默认精度 6,scientific 下表示 6 位有效数字并四舍五入,指数至少 2 位带符号。附 fixed/sciencefic/...

f(++a, ++a) 输出是什么?—— 实参求值顺序与未定义行为

f(++a, ++a) 输出是什么?—— 实参求值顺序与未定义行为

2026-09-11

f(++a, ++a) 输出是什么?函数实参求值顺序无序,同一表达式内对同一变量修改两次属于未定义行为,答案是 D。附易混淆对比与 CSP-J 考点总结。

俄罗斯农民乘法(倍增乘法)

俄罗斯农民乘法(倍增乘法)

438
2026-09-07

代码分析 int mystery(int a, int b) { if (b == 0) return 0; if (b % 2 == 0) return mystery(a + a, b / 2); return myster...

速算汉诺塔递归公式值

速算汉诺塔递归公式值

437
2026-09-07

汉诺塔递归公式分析 int hanoi(int n) { if (n == 1) return 1; return 2 * hanoi(n - 1) + 1; } 递推式: $\( \begin{cases} f(1)=1\\ f...

lowerBound:二分查找(查找第一个大于等于 target 的位置)。

lowerBound:二分查找(查找第一个大于等于 target ...

2026-09-06

lowerBound(下界,第一个 ≥ target 的位置) int lowerBound(int a[], int n, int target) { int left = 0, right = n; while (left &...

lowbit (x) 详解

lowbit (x) 详解

435
2026-09-06

lowbit(x) 详解(CSP‑J/NOIP高频) int lowbit(int x) { return x &amp; (-x); } 作用:取出x二进制中,最低位的1以及后面所有的0,返回这个数值。 示例: \((x=6)\)...

数组作为函数参数会退化为指针

数组作为函数参数会退化为指针

434
2026-09-04

【题目】 考察函数执行过程以下代码的输出是什么? void f(int arr[], int n) { cout &lt;&lt; sizeof(arr); } int main() { int a[10]; f(a, 10);...

返回引用的函数调用可以作为左值赋值

返回引用的函数调用可以作为左值赋值

2026-09-04

核心知识点 1. 函数返回**左值引用 `int&`**,返回的是变量本身,不是拷贝值,所以返回值可以被赋值。 2. `a > b ? a : b`:三目运算符,当两个操作数都是引用时,结果也是引用。 3. `getMax(x,y)...