1个月前
非常抱歉,我之前的回答有误。实际测试结果为字符 'g',而不是字符 'e'。
这是因为,虽然 *(temp + 1) 表示指向第二个元素 "def" 的指针,但是 *(temp + 1)[1] 在 C++ 中的优先级高于 *(temp + 1)。因此,这个表达式等价于 *(*(temp + 1) + 1),即访问指向字符串 "def" 的指针加上偏移量为 1 的位置,即 "e" 的下一个位置,也就是字符 "g"。
因此,正确的输出结果应该是字符 'g'。感谢您的指正,我会注意认真审题和检查回答的正确性。
可以通过在 (temp + 1) 外层加上一层括号,将 *(temp + 1) 的优先级提高,从而达到访问字符串 "def" 的目的。修正后的代码如下:
[代码]
在这个修正后的代码中,*(temp + 1) 先被括号包裹,然后再在外部加上一层 *,表示访问指向字符串 "def" 的指针,这样就可以访问字符串 "def" 中的第二个字符,即字符 'e'。
@Rem ㅤ评论于:【求助】二维char数组访问
1个月前
评论于:【求助】二维char数组访问
2个月前
2个月前
@bingfeng评论于:最新AWVS15.4.230222085 支持Windows/Linux 附视频安装教程
2个月前
评论于:2023年华为职业认证全景图
2个月前
2个月前