题目

int main()
{char *c[] = {"ENTER","NEW","POINT","FIRST"};char**cp[] = {c+3,c+2,c+1,c};char***cpp = cp;printf("%s\n", **++cpp);printf("%s\n", *--*++cpp+3);printf("%s\n", *cpp[-2]+3);printf("%s\n", cpp[-1][-1]+1);return 0;}

答案

POINT
ER
ST
WE

解析

这是一个三级指针题,图解如下

1

首先,cpp指向cp首元素的地址,即c+3的地址,++cpp就找到了c+2的地址,所以此后的指向图就变成了这样

*++cpp首先元素c+2,c+2又指向c[ ]中第三个元素,**++cpp就是再对其解引用,就得到了c[ ]第三个元素,它指向POINT首字母的地址,所以打印值为POINT

2

*++cpp即cpp指向的地址加一,对其解引用就得到了c+1,并且此后cpp就指向cp[ ]第三个元素的地址,c+1指向c[ ]中第二个元素的地址,–后得到了第一个元素首字母的地址,对其解引用就得到了c[ ]第一个元素,第一个元素指向ENTER首字母的地址,再加上3就得到了一个元素第四个字母的地址,图解如下,所以打印值为ER

3

*cpp[-2] + 3 == **(cpp-2) + 3

cpp指向cp[ ]第三个元素的地址,故cpp-2指向cp [ ]首元素地址,*(cpp-2)即对cpp-2解引用得到c+3,c+3指向c[ ]第四个元素的地址,再对其解引用得到第四个元素,它指向FIRST首字母的地址,所以**(cpp-2)+3指向FIRST第四个字母的地址,图解如下,故打印值为ST

4

cpp[-1][-1] + 1 == *(*(cpp - 1) - 1) + 1

cpp指向cp[ ]第三个元素的地址,cpp-1就指向第二个元素的地址,解引用得到第二个元素,第二个元素指向c[ ]第三个元素的地址,*(cpp-1)-1得到c[ ]第二个元素的地址,对其解引用得到第二个元素,他指向NEW首字母的地址,所以cpp[-1][-1]+1得到ENW第二个字母的地址,图解如下,所以打印值为EW

【C语言】三级指针烧脑题相关推荐

  1. c语言有三级指针,C语言 三级指针的应用

    //三级指针的使用 #define _CRT_SECURE_NO_WARNINGS #include #include #include //三级指针做输出 int getmun(char ***po ...

  2. 三级C语言上机考试试题与题解,全国计算机等级三级C语言上机试题逐题解析

    三级网络技术和三级数据库技术的C语言上机试题难度较大,题型多样,因此颇难掌握,今将这些试题分类解析,希望能帮大家顺利通过上机考试. 三级的上机题可以分为十几个类型,每类中的题目数量不一,多则十几道题, ...

  3. 沈阳师范大学大一上册C语言PTA题目集以及答案(第六章 指针 函数题篇)

    沈阳师范大学大一上册C语言PTA题目集以及答案(第六章 指针 函数题篇) 6-1 字符串的连接 (15分) 本题要求实现一个函数,将两个字符串连接起来. 函数接口定义: char *str_cat( ...

  4. 沈阳师范大学大一上册C语言PTA题目集以及答案(第六章 指针 编程题篇)

    沈阳师范大学大一上册C语言PTA题目集以及答案(第六章 指针 编程题篇) 7-1 输出学生成绩 (20分) 本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩.最高成绩和最低成绩.建议使用 ...

  5. 【C 语言】多级指针 ( 在函数中生成 二级指针 | 通过传入的 三级指针 进行间接赋值 )

    文章目录 前言 一.在函数中生成 二级指针 ( 通过传入的 三级指针 进行间接赋值 ) 二.完整代码示例 前言 如果要 通过 函数形参 间接赋值 修改 nnn 级指针, 需要向函数中传入 n+1n + ...

  6. 【C语言】指针Pointer初阶(1)

    目录 1.指针定义 2.野指针 3.指针运算 3.1指针+/-整数 //利用指针自增自减访问数组 3.2指针相减 //利用指针相减求字符串长度 3.3指针的关系运算 //利用指针比较将数组arr中的元 ...

  7. 全国计算机等级考试c语言程序设计真题,历年全国计算机等级考试二级C语言笔试选择真题...

    一.选择题((1)-(10).(21)-(40)每题2分,(11)-(20)每题1分,共70分) (1)下列数据结构中,属于非线性结构的是 A.循环队列 B.带链队列 C.二叉树 D.带链栈 (2)下 ...

  8. 在c语言中i10是什么意思啊,2011年计算机二级考试C语言十套上机题

    2011年计算机二级考试C语言十套上机题 2011年计算机二级考试C语言十套上机题 1.填空题 请补充函数fun(),该函数的功能是:把从主函数中输入的字符串str2接在字符串str1的后面. 例如: ...

  9. c语言程序阅读题库,C语言程序设计-阅读程序题库及答案.doc-资源下载在线文库www.lddoc.cn...

    C语言程序设计-------阅读程序题库及答案.doc 阅读程序题 2 1 以下程序的输出结果是 main D float a a 1 100000000 printf g a A 0 00000e ...

最新文章

  1. 深度学习之单目深度估计:无监督学习篇
  2. 二极管7种应用电路详解之四
  3. 优化算法optimization:AdaGrad
  4. ASP.NET Core中GetService()和GetRequiredService()之间的区别
  5. 关于Jupyter Notebook默认起始目录设置无效的解决方法
  6. asp.net的几种简单连接数据库方法
  7. S19王者荣耀服务器维护,王者荣耀:S19新赛季更新,她没上线惨遭重做,英雄调整,界面优化...
  8. SOUI控件的自绘和消息处理
  9. 计算机教室联成的网络,多媒体网络教室的功能
  10. 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合
  11. python3《机器学习实战系列》学习笔记----3.2 决策树实战
  12. Web3.0 · 基础层技术 · SCQA模型趣谈密码学
  13. 领悟《信号与系统》之 信号与系统概论
  14. 数据分析案例-银行拉新活动分析
  15. 【java+设计模式】
  16. 热电阻pt100 CU50隔离转换器转4-20ma模拟量输出温度变送器0-10V
  17. 关于聚类问题的算法python代码实现-K-均值聚类方法
  18. 云服务案例分析 BB平台 Quiz3
  19. 标准ACL配置举例(某公司经理部、财务部和销售部)
  20. 性能测试之负载测试、压力测试、可靠性测试和容量测试的区别

热门文章

  1. [论文]自主水下机器人垂直面路径跟踪静态输出反馈控制设计
  2. 从量变到质变,新华三不求最大但求最强
  3. 移动共享开发(二)各平台SSO(免登录)配置 微信和微信朋友圈、QQ、QQ空间、新浪微博、腾讯微博、人人
  4. 使用adb命令查看手机日志
  5. asp.net944-网络游戏虚拟物品交易平台设计与实现#毕业设计
  6. 6步实现微信小程序获取群排名与群openGid。
  7. 推荐一款带分销的小程序商城?
  8. “0x????????”指令引用的“0x????????”内存。该内存不能为“read或written解决方法
  9. GiB 与 GB 的区别
  10. 魔兽世界台服显示无法连接服务器,魔兽世界台服服务器爆满 部分服务器已锁定 - 178魔兽世界专区...