第三次作业
一、学习范围:1.2.2动态内存分配、1.3.1及1.3.2字符串部分、1.4字符串函数的实现(慕课视频)
二、代码练习列表:
三、纸质笔记:
四、通过自己课本预习获得知识:
1、字符数组和字符指针都可以处理字符串,但两者之间有重要区别:
2、为了尽量避免引起未赋值的指针所造成的伤害,在定义指针时,可先将它的初值置为空。
五、PTA作业中遇到的问题:
1、
在做这道题的时候我出现了两个疑问(通过自己学习并思考得到):
(1)比较字符串的大小实际上比较的是什么?
解决:比较字符串的大小实际是比较字符的ASCII码值的大小,并且直至出现不同字符或遇到‘\0’为止,且出现不同字符时,以第一个不同字符的比较结果为准;
(2)如果忽略字符大小写做比较,我该怎么体现在程序里?
解决:要求用一个自定义函数来实现,并且用函数的返回值表示比较结果。
2、
在这一题中,A、B两个两个选项的错误点是相同的,因为两者均为字符数组并非字符串,是不可以用puts的,但是在某些编译器中,它是不能识别出错误的,所以也会出现可以运行的情况;
而C选项中并未对指针S赋初值就进行引用是不可以的,因为未赋值的指针我们不清楚它的值,也不知道它的内存单元是多大。