字符串的应用
在前些日子里,我们学习了字符串的定义,由于生活中经常会经常用到字符串,
今天我们就吧字符串的基本用法了解一下
1:字符串连接 des+=src
库函数 strcat



我们自己来试着实现一下这个函数
我们可以先将des这个指针指向字符串最后的’\0’;然后利用拷贝函数将src依次拷贝到des中
代码如下:

运行一下:

这里出现了程序崩溃,我们试着调试一下后发现,崩溃的原因是因为字符串常量只可读
我们改进一下,再运行一下:

这里出现了程序崩溃,我们试着调试一下后发现,崩溃的原因是因为越界了
我们改进一下,再运行一下:

这次程序运行正常,我们给des申请到了足够加上src的内存。
2:字符串比大小
库函数 strcmp



我们自己来试着实现一下这个函数
判断当前两个指针解引用是否相等,如果相等,各+1,当不等时,通过ASCII码比大小

运行一下:

我们可以尝试着让其输出ASCII码的差值
代码如下:

运行一下:

3:字符串拷贝
库函数 strcpy



我们自己来试着实现一下这个函数
代码如下:

也可以这样写:

也可以这样写:

因为++和*优先级相同但结合方向从右向左,且是后置++,所以先执行*des=*src语句再执行++。所以可以合并到一步。
也可以这样写:

我们可以精简到一步,因为当赋值str2对str1赋值成功时,结果不为0,判断为真执行,当str2最后指针指向’\0’时,赋值给str1,结果为0,判断为假,跳出循环。
4:字符串有效长度 不包括’\0’
库函数 strlen



我们自己来试着实现一下这个函数
代码如下:

运行一下:

这几个就是我们经常用到的,当我们熟悉了他们是怎么运作的,我们才会更加熟练的应用他们。
本文详细探讨了字符串连接、比较和拷贝的基本操作,通过实例介绍了如何使用自定义函数实现字符串连接(des+=src,strcat)、比较(strcmp)和拷贝(strcpy)。同时,讲解了如何避免常见的程序错误,如只读字符串常量和越界问题,并提供了自定义strlen函数计算字符串有效长度的方法。
1311

被折叠的 条评论
为什么被折叠?



