小杨在调试一个"等级提升"系统,代码逻辑如下,执行后 *p 的值是( )。
int lv = 5, next_lv = 6; int *p = &lv; *p = *p + 1; p = &next_lv;
- A. 5
- B. 6
- C. lv 的地址
- D. next_lv 的地址
正确答案:B
int lv = 5, next_lv = 6; int *p = &lv; *p = *p + 1; p = &next_lv;
正确答案:B
*p=*p+1 使 lv 变为 6;随后 p=&next_lv 让 p 改指 next_lv(值为 6),所以此刻 *p=6,选 B。💡 *p 取的是 p「当前所指」变量的值,p 改指后就读新目标。想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?
进入 GESPPASS 开始练习