字符串函数

发布时间:2023年12月21日

无论是再使用strlen、strcpy、strcat还是strcmp在最前面都要添加#include<string.h>

strlen(长度)

格式:strlen(字符数组)

功能:计算字符串长度,他并不识别\0

第一个例子:

那么我们观察上面这几个式子,可以先思考一下答案是什么?接下来进行敲代码

在最上面要加上表头,然后strlen是识别\0的,那么只要识别到了\0,那就停止了,观察char s[10],在第二位就遇见了\0,所以说最后程序识别的就是A,只有一个字符,所以就是1了,那么我们在接下来看这个程序

sizeof表示的是整个数组所占据的数组大小,strlen是遇见\0就结束了

sizeof和strlen的区别(面试):

1? strlen是一个函数,sizeof是一个运算符而已

2? strlen只计算\0的前面的字符,sizeof是计算整个的大小

第二个例子:

那为什么sizeof是7呢,因为\0表示也占一位

第三个例子:

先引入一个新的知识

\xhh 表示十六进制数代表的符号

\ddd 表示八进制的上面\x69 \141表示两个数,\n也算一个字符,所以就是三个

strcpy(拷贝)

理论总是枯燥乏味,所以直接上例子:

他的原理就是将scr上面的字符复制粘贴到des上就行了,画图解释:

当然,这道题也不一定要求是用strcpy,也可以用while循环,让他一个个放进去就行了

strcat(连接)

格式:strcat(字符数组1,字符数组2)

功能:把字符数组2连接到字符数组1后面

返回值:返回字符数组1的首地址

说明:

(1)字符数组1必须足够大

(2)连接前,两串均以‘\0’结束,连接后,串1的‘\0’取消,新串最后加‘\0’

strcmp(比较)

  • 格式:strcmp(字符串1,字符串2)

  • 功能:比较两个字符串

  • 比较规则:对两串从左向右逐个字符比较(ASCII),直到遇到不同字符或 '\0'为止

  • 返回值:返回int型整数

    • 1.若字符串1 < 字符串2,返回负整数

    • 2.若字符串1 > 字符串2,返回正整数

    • 3.若字符串1 = 字符串2,返回零

文章来源:https://blog.csdn.net/2301_81650162/article/details/135093973
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。