C进阶:征服指针之指针与数组强化笔试题练习(2)

news2025/1/11 23:51:51

  🐲🦖 本篇文章是接上篇文章的,上篇文章链接:http://t.csdn.cn/RogqL

目录

🐇🐱一.关于 strlen 函数与数组、指针的综合笔试题

😸T1.

🐆 T2.

🐅T3.


🐲一.关于 strlen 函数与数组、指针的综合笔试题

🐋T1.

      //字符数组
      char arr[] = {'a','b','c','d','e','f'};
1.    printf("%d\n", strlen(arr));
2.    printf("%d\n", strlen(arr+0));
3.    printf("%d\n", strlen(*arr));
4.    printf("%d\n", strlen(arr[1]));
5.    printf("%d\n", strlen(&arr));
6.    printf("%d\n", strlen(&arr+1));
7.    printf("%d\n", strlen(&arr[0]+1));

Q1:

 arr 既不在 sizeof 内部,也不是&arr,所以这里的数组名表示数组首元素地址,因为 strlen 是遇到 '\0' 才停下,而该数组中并没有 '\0' ,所以就不知道 strlen 会遇到 '\0' ;

答案:随机值

Q2:

arr+0 仍表示数组首元素的地址,所以同上;

答案: '\0'

Q3 :

* arr 表示的是数组的首元素 ‘ a '  ,它是一个字符不是字符串,所以就会报错,程序运行时就会挂掉;

答案:error

Q4:

arr[1] 表示的时数组下标为1的元素 ' b ',与上题同理;

答案:error

Q5:

&arr 取出的是整个数组的地址,但是它的值和数组首元素地址相同,所以和第一题同理;

答案:随机值

Q6:

&arr+1 跳过整个数组,但还是不知道什么时候会遇到 '\0' ,所以还是随机值;但是这题的随机值和第五题的随机值有联系,他们相减等于数组的元素个数 6 ( 指针相减得到的是两个指针之间的元素个数 );

答案:随机值 - 6

Q7:

&a[0] +1 表示的是 'b' 的地址 ,同理也是个随机值,和 strlen (arr) 存在着关系;

 答案:随机值 -1

打印结果:

🦄 T2.

      char arr[] = "abcdef";
1.    printf("%d\n", strlen(arr));
2.    printf("%d\n", strlen(arr+0));
3.    printf("%d\n", strlen(*arr));
4.    printf("%d\n", strlen(arr[1]));
5.    printf("%d\n", strlen(&arr));
6.    printf("%d\n", strlen(&arr+1));
7.    printf("%d\n", strlen(&arr[0]+1));

 

Q1:

因为这个数组中是个字符串,字符串结束的标志是 '\0'  ,所以这个数组有7个元素,最后一个元素是 '\0' ,strlen 遇到 '\0' 就结束,所以这题的答案是 7;

答案:7

Q2 :

arr+0 是数组首元素的地址,同上;

答案 :6

Q3,Q4:

*arr  和  arr[1]  都表示的是字符,不是字符串,所以是 error;

答案:error

Q5 :

&arr 取出的是整个数组的地址,但是它的值和数组首元素地址相同,所以同Q1;

答案:6

Q6:

&arr +1 跳过整个数组(包括 '\0' ),此时又不知道什么时候会遇到 '\0' ,所以是随机值;

答案:随机值

Q7:

&arr[0] +1 ,即数组下标为1的元素 'b'  ,从这里往后走,最终会遇到 '\0' ;

答案:5

打印结果:

 


🐯T3.

      char *p = "abcdef";
1.    printf("%d\n", strlen(p));
2.    printf("%d\n", strlen(p+1));
3.    printf("%d\n", strlen(*p));
4.    printf("%d\n", strlen(p[0]));
5.    printf("%d\n", strlen(&p));
6.    printf("%d\n", strlen(&p+1));
7.    printf("%d\n", strlen(&p[0]+1));

Q1:

p 指向的是字符串的首地址,所以答案是6;

答案:6

Q2:

指针 p 的类型是 char*  ,指针类型表示指针的步长,所以 p +1 就跳过一个字节,来到 'b' ,strlen

再往后走还是会遇到 '\0' ;

答案:5

Q3, Q4 :

*p 和 p[0]  是同一个值,都是字符串的首元素,是个字符;

答案:error

Q5 :

p 是一个指针变量,他也有一个地址,但我们并不知道地址是多少,所以也就不知道什么时候会遇到 '\0' ;

答案:随机值

Q6:

与上同理,即使 加了个1 ,我们仍然不知道什么时候会遇到 '\0' ;

答案:随机值

Q7:

&p[0]+1 表示的是字符串中 'b' 的地址,从这里strlen 向后走,还是会遇到 '\0 ' ,且:

  strlen(p) - strlen (&p[0] +1 ) =1 ;

详细图解与 T2的Q7 差不多 ,在这里就里就不重复了;

答案:5

打印结果:


好了,关于sizeof 和 strlen 与指针,数组综合的笔试题到这里就已经全部结束了;

 有关  sizeof 的笔试题:http://t.csdn.cn/RogqL


🐬🐳本篇文章中若有错误,或是小伙伴们有什么建议,欢迎指出呀。😆😁

🦞🕊️如果小伙伴们觉得还不错的话,可否支持支持博主呢😊👻

🪶🐿️你们的支持真的对我很重要,是博主更新的动力🥰🤩

🤖🐲谢谢你的阅读🙂😀

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/118166.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络和通信安全中的SSL/TLS国密改造

2021年3月,国家市场监管总局、国家标准化管理委员会发布公告,国家密码应用与安全性评估的关键标准GB/T39786—2021《信息安全技术信息系统密码应用基本要求》(以下简称“GB/T39786”)正式发布,GB/T 39786是贯彻落实《中…

CSS浮动与CSS定位装饰 Day3

结构伪类选择器 结构伪类 公式 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>伪类</title><style>li:nth-child(4n){background-color: red;}</style> </head> <body>…

【记录贴】项目经理的进阶日常:靠年终总结获得了核心项目的机会

进入项目经理这个岗位已经三年了&#xff0c;之前决定转行做项目经理是因为它涉及的知识面广&#xff0c;对个人的成长非常有帮助&#xff1b;也期望未来能积累一些大型且复杂的项目经验、获得更好的升职空间。但现在做了这么久&#xff0c;好像遇到了职业瓶颈&#xff0c;仿佛…

ESP8266 WIFI模块的使用

ESP8266 wiFI 可以用作连接周边的无线设备&#xff0c;也可以作为发送器供其他设备连接通常在产品中&#xff0c;我们经常用作无线的接收使用&#xff0c;也可能会用作在线升级使用等。 说点题外话&#xff1a;虽然在线升级已经较为成熟&#xff0c;但我不推荐在一些重要的产品…

Shell程序编写猜数字的小游戏

文章目录 目录 文章目录 前言 一、设计思路 二、代码编写 三、效果图 总结 前言 在学习Linux课程中学习了一点简单的shell语法&#xff0c;实现了一个猜数字功能的程序。感兴趣的可以看完后自己手动编写玩玩~这个小游戏的编写也是把基础的shell语法基本上都用到了&#…

在QQ音乐巅峰榜年度榜单中,听懂国人2022年的音乐记忆!

拐左为夏&#xff0c;拐右为冬&#xff0c;时至年末&#xff0c;各类形式的年终报告层出不穷。2022年&#xff0c;是特殊的一年&#xff0c;音乐作为不可或缺的一部分&#xff0c;也陪伴广大用户走过了日日夜夜。一首首歌曲拨动着心弦、同时也承载着回忆&#xff0c;熟悉的旋律…

【软件测试】不好,事搞大了,APP测试的血泪教训总结......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 听说&#xff0c;人…

C语言链表-记录学生信息

题目要求&#xff1a; 创建一个 单向链表 来记录学生信息&#xff0c;人数3–5人&#xff1b;链表结点为结构变量&#xff0c;结构的要求如下&#xff1a; struct stu_info{char stu_num[10]; //学号char stu_name[8]; //姓名char stu_sex[2]; //性别int stu_score /…

Flowable学习笔记(二):flowable实战

1.定义流程模板 (1)Call Activity&#xff08;调用活动&#xff09; 在这个流程图中&#xff0c;定义了一个开始节点、调用活动节点和结束节点&#xff08;bpmn.xml文件在文章最后附上&#xff09;。 开始节点&#xff1a;定义了一个执行监听器&#xff08;commonStartExecut…

【MyBatis】进一步理解choose、when、otherwise标签

choose、when、otherwise choose里面包含when、otherwise两个标签&#xff0c;choose是父标签&#xff0c;when和otherwise必须都要写在它里面 当 when 中有条件满足的时候&#xff0c;就会跳出 choose&#xff0c;即所有的 when 和 otherwise 条件中&#xff0c;只有一个会输…

半导体设备中制冷系统的压力和温度准确控制解决方案

摘要&#xff1a;针对半导体低温工艺中制冷系统在高压防护和温度控制中存在的问题&#xff0c;本文将提出一种更简便有效的解决方案。解决方案的核心是在晶片托盘上并联一个流量可调旁路&#xff0c;使制冷剂在流入晶片托盘之前进行部分短路。即通过旁路流量的变化调节流出晶片…

罗切斯特大学将研究未来执行军事任务的量子计算

罗切斯特大学的专家将开发受量子启发的求解器系统&#xff0c;以解决军事任务中的实际问题。 美国军事研究人员需要使用量子启发求解器系统的量子计算技术&#xff0c;将高性能计算性能提高至少两个数量级的新方法。于是&#xff0c;他们从纽约的罗切斯特大学找到了解决方案。美…

Akka 进阶(三)Route 路由

目录一 路由Actor二 Pool方式的方式创建路由三 Group方式创建路由消息可以通过多种方式送达目的地&#xff0c;比如tell、ask、forward等&#xff0c;这些方式是最常规也是最简单的&#xff0c;但是对于复杂的消息投递逻辑&#xff0c;比如轮询投递、随机投递、广播组等&#x…

IB课程预估分,请认真规划学习进程

近年受疫情影响&#xff0c;IB考试形式与分数情况&#xff0c;有不小的波动&#xff0c;年度出分依然吸引着众人目光。尤其明后年准备参加大考的同学&#xff0c;更关心实战难度和考试分数的变化趋势。 01预估分&#xff1a;严重被压低的预期分数 全球疫大环境下&#xff0c;IB…

合宙 ESP32C3 烧录 Micropython 后连接端口报错

合宙esp32c3 开发板烧录micropython 后连接VScode 或 Thonny报错&#xff1a; Device is busy or does not respond. 1. 原因&#xff1a; 烧录的micropython bin文件有问题。 问题参考&#xff1a; 链接: 合宙ESP32-C3 烧录Micropython报错入坑记 2. 解决办法&#xff1a…

H3C smart-link实验 C套拆解

H3C smart-link实验 C套拆解一、项目拓扑二、项目需求三、配置步骤1.vlan-trunk2.STP3.smart-link四、测试一、项目拓扑 二、项目需求 总部局域网内sw3进行双上行链路灵活备份&#xff0c;smart-link组1 引用实例1(绑定vlan10)的流量从经过sw1的链路通向出口路由器r1&#xff…

10个优秀的Python库,实用且有趣

序言 哈喽兄弟们&#xff0c;今天分享10个优秀的Python库&#xff0c;超级实用&#xff01; 为什么这么多人选择学习python?首先&#xff0c;python是一门全场景编程语言&#xff0c;对于初学编程的人而言&#xff0c;选择一门全场景编程语言是非常不错的选择;其次&#xff…

PHP aws-sdk-php文件存储的实现与应用

前言 最近项目需要用到对象存储&#xff0c;将所有上传文件&#xff0c;存储到BOS云存储上。在开发过程中&#xff0c;遇到一些小小的问题&#xff0c;做个简单记录。 功能实现 1 下载sdk&#xff08;以下两种方式&#xff0c;任选其一即可&#xff09; &#xff08;1&#…

手绘图说电子元器件-电阻,电容,电感

电阻器与电位器 电阻器是最基本的电子元件,电位器是最基本的可调电子元件,它们广泛应用在各种电子电路中。 电阻器 电阻器是限制电流的元件,通常简称为电阻,是一种最基本、最常用的电子元件,包括固定电阻器、可变电阻器、敏感电阻器等。 电阻器的主要参数有电阻值和额…

FFT(2)

DFT到FFT 这是DFT公式 对DFT代数变换 将DFT的计算&#xff0c;分为计数组和偶数组。 惊奇的发现&#xff1a;只需要改变WkNW_k^NWkN​的符号即可得到X&#xff08;k&#xff09;的另一半项数的结果。 得到FFT算法&#xff08;蝶形运算&#xff09; 惊奇的发现&#xff1…