今天又来水帖子了,今天有课,老师讲了点东西,但不多,一个是自定义函数,一个是自己写函数实现strcat的字符连接。自定义函数就不写了,已经写过两个小游戏了,还是来看看连接字符吧,上课讲了三种方案,但是我其基础上做了一点优化(少写了一行代码)。
首先是第一种,通过for循环找到第一个字符串的最后一个值,然后以这里为起点将第二个字符串放到第一个字符串的后方。这里需要注意一点,字符串的最后一位必须是'\0',否则会产生神奇的反应,'\0'是终止符,如果没有'\0'那么字符串将会一直输出直到某个地方碰到'\0'为止。没有用gets直接获取字符串因为我的编译器用不了gets(我也不知道为啥)。让我们看看如果字符串最后没有'\0'会发生什么。
所以一定要记得加上'\0'。
然后是第二种方法,第二种方法只是省略掉了while循环查找最后一位,直接使用strlen。众所周知,strlen统计的是输入字符的个数,但同时由于第一个数下标为0,所以strlen除了代表输入字符的个数,也代表'\0'的位置。
最后一种则是利用循环的特性。
每一次循坏都会先经过中间这个判断语句,所以只需要对判断语句进行修改,实现赋值和判断两种用途即可。在最后一次判断语句中,将字符串的最后一位赋值为'\0'同时不满足循环条件,刚好退出。
我的一点点修改是针对前两种方案,同样是对判断语句进行修改,但与三不同的是还是要有循环体,只是不需要在循环结束后另外将字符串的最后一位改为'\0'。
只需要将判断语句改为第二个字符串当前位置的前一位是否为'\0'即可。如果是,则说明'\0'在上一位赋值过了,当前位置不需要再赋值了,退出即可。
OK,以上即为今天的上课内容(很水,但是没啥好写的的了),下次见,麻烦留下个免费的赞当作鼓励,我们下次见。