C语言学习记录第7天

今天又来水帖子了,今天有课,老师讲了点东西,但不多,一个是自定义函数,一个是自己写函数实现strcat的字符连接。自定义函数就不写了,已经写过两个小游戏了,还是来看看连接字符吧,上课讲了三种方案,但是我其基础上做了一点优化(少写了一行代码)。

首先是第一种,通过for循环找到第一个字符串的最后一个值,然后以这里为起点将第二个字符串放到第一个字符串的后方。这里需要注意一点,字符串的最后一位必须是'\0',否则会产生神奇的反应,'\0'是终止符,如果没有'\0'那么字符串将会一直输出直到某个地方碰到'\0'为止。没有用gets直接获取字符串因为我的编译器用不了gets(我也不知道为啥)。让我们看看如果字符串最后没有'\0'会发生什么。

所以一定要记得加上'\0'。

然后是第二种方法,第二种方法只是省略掉了while循环查找最后一位,直接使用strlen。众所周知,strlen统计的是输入字符的个数,但同时由于第一个数下标为0,所以strlen除了代表输入字符的个数,也代表'\0'的位置。

最后一种则是利用循环的特性。

每一次循坏都会先经过中间这个判断语句,所以只需要对判断语句进行修改,实现赋值和判断两种用途即可。在最后一次判断语句中,将字符串的最后一位赋值为'\0'同时不满足循环条件,刚好退出。

我的一点点修改是针对前两种方案,同样是对判断语句进行修改,但与三不同的是还是要有循环体,只是不需要在循环结束后另外将字符串的最后一位改为'\0'。

只需要将判断语句改为第二个字符串当前位置的前一位是否为'\0'即可。如果是,则说明'\0'在上一位赋值过了,当前位置不需要再赋值了,退出即可。

OK,以上即为今天的上课内容(很水,但是没啥好写的的了),下次见,麻烦留下个免费的赞当作鼓励,我们下次见。

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值