字符串函数

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

strlen(长度)

格式:strlen(字符数组)

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

字符串函数_第1张图片

第一个例子:

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

字符串函数_第2张图片

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

字符串函数_第3张图片

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

sizeof和strlen的区别(面试):

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

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

第二个例子:

字符串函数_第4张图片那为什么sizeof是7呢,因为\0表示也占一位

第三个例子:

先引入一个新的知识

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

\ddd 表示八进制的字符串函数_第5张图片上面\x69 \141表示两个数,\n也算一个字符,所以就是三个

strcpy(拷贝)

字符串函数_第6张图片理论总是枯燥乏味,所以直接上例子:

字符串函数_第7张图片他的原理就是将scr上面的字符复制粘贴到des上就行了,画图解释:

字符串函数_第8张图片

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

字符串函数_第9张图片strcat(连接)

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

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

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

说明:

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

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

字符串函数_第10张图片

strcmp(比较)

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

  • 功能:比较两个字符串

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

  • 返回值:返回int型整数

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

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

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

    • 字符串函数_第11张图片

你可能感兴趣的:(算法)