C博客作业05--指针
0.展示PTA总分
1.本章学习总结
1.1 学习内容总结
1.2 本章学习体会
- 刚开始学一直把指针当成一个变量去操作,后来学会了操作地址
- 有了指针,可以通过传递多个地址,在自己定义的函数中完成对这些地址中的值进行更改,则原函数中的变量的值也会相应更改,相当于一个函数可以传回多个值,明显提高了传递效率
2.PTA实验作业
2.1查找子串
==========
2.1.1 伪代码
2.1.2 代码截图
2.1.3 总结本题知识点
- 由fgets输入的字符串,在遍历时结束时需要判断是否不等于0或\n
- 指针没有指向地址的话最好赋值为NULL,否则变成野指针容易编译错误
2.1.4 PTA提交列表及说明
- 1.编译错误:if()内==写成=
- 2.多种错误:错将tPtr写成*tPtr
2.2说反话-加强版
2.2.1 伪代码
2.2.2 代码截图
2.2.3 总结本题知识点
- 通过视频了解了printf(" %.*s", len, p);这种用法,输出p位置之后的len个字符
- while (endPtr&&endPtr!='\n') endPtr++;可以找出最后一个字符的位置
2.2.4 PTA提交列表及说明
1部分正确:第一个单词前没有空格,故需要另外输出
2.部分正确:测试点三,最小词,前有空格错误,用VS调试之后发现没有问题
2.3合并两个有序数组
2.3.1 伪代码
2.3.2 代码截图
2.3.3 总结本题知识点
- 使用malloc函数申请整型储存空间,最后要用free函数释放
- 巧妙地利用指针自增,方便比较大小并同时存入新数组,当一个数组比较完时,将另外一个数组按顺序存入
2.3.4 PTA提交列表及说明
1.答案错误:不知道在一个数组比较完之后如何找到他的下标,在看了老师讲解后利用下标自增解决
3.阅读代码
题目
代码优点及可以学习的地方
- 代码的作用:将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。
- 通过从左向右迭代字符串,轻松地确定字符位于 Z 字形图案中的哪一行
- 使用 \text{min}( \text{numRows}, \text{len}(s))min(numRows,len(s)) 个列表来表示 Z 字形图案中的非空行。
- 从左到右迭代 ss,将每个字符添加到合适的行。可以使用当前行和当前方向这两个变量对合适的行进行跟踪。
- 代码功能很强,简洁明了,将原本数组要做的十分复杂的事情转化的简单