经过这一周的学习,让我明白了指针的重要性,在不少时候运用,会使得代码功能强大。指针是C语言中颇有特点的一个东西,其余的语言基本没有这个功能,直接在内存上对变量赋值,同时也学到了不少函数可应用在字符串中运用好比strlen、strcat、strcmp等等,对数组的大小进行控制也学到了一个新的方法,动态内存分配,能够对数组的大小进行控制,防止像之前那样给数组定义过大的范围,浪费内存。 但我发现,能够用指针的地方,能够用数组,我比较喜欢用数组写,多是刚刚学习指针,不怎么熟悉的结果。之后的学习中要多运用指针打打代码,这样把这种新的方法经过锻炼,熟悉起来。
7-2 说反话-增强版 (20 分)
给定一句英语,要求你编写程序,将句中全部单词的顺序颠倒输出。算法
输入字符串str 定义 i=字符串长度 while str[0]==空格 定义 j for j=0 to i then str[j]=str[j+1] end for end while while str[i-1]==空格 str[i-1]='\0' i-1 end while i = strlen(str) 定义h for h =0 to i then if str[h]==空格&&str[++h]==空格 定义j for j=h to i then str[j]=str[j+1] end for if str[h]==空格&&str[h-1]==空格) 定义j for j=h to i then str[j]=str[j+1] end for end if end if end for i=字符串长度 for i to 0 then if str[i] ==空格 输出空格后的字符直至数组结束 str[i]='\0' end if end for printf("%s", &str[i]);
少考虑了多个空格及开头空格的状况
数组
将产生随机数部分改为指针传递. 改进以前使用,须要屡次调用函数 改进以后一次解决
在写这种代码比较多的程序中,当咱们想好思路后开始打代码,不要一气呵成从头打倒尾,这样中间可能会出现不少错误,并且这种代码比较多的程序中在中间找错误不是一件容易的事, 因此在写大做业的时候,最好是分块来写,先把某一功能的代码写完而后对相应的错误进行修改,这样修改的话会比较容易找出错误,肯定这一功能没什么问题后再开始写实现下一功能的 代码 对指针的用法仍然不熟悉,能想到的改进之有这一点,与大部分同窗还没法相比,还须要努力