无论是再使用strlen、strcpy、strcat还是strcmp在最前面都要添加#include<string.h>
格式:strlen(字符数组)
功能:计算字符串长度,他并不识别\0
那么我们观察上面这几个式子,可以先思考一下答案是什么?接下来进行敲代码
在最上面要加上表头,然后strlen是识别\0的,那么只要识别到了\0,那就停止了,观察char s[10],在第二位就遇见了\0,所以说最后程序识别的就是A,只有一个字符,所以就是1了,那么我们在接下来看这个程序
sizeof表示的是整个数组所占据的数组大小,strlen是遇见\0就结束了
1? strlen是一个函数,sizeof是一个运算符而已
2? strlen只计算\0的前面的字符,sizeof是计算整个的大小
那为什么sizeof是7呢,因为\0表示也占一位
先引入一个新的知识
\xhh 表示十六进制数代表的符号
\ddd 表示八进制的上面\x69 \141表示两个数,\n也算一个字符,所以就是三个
理论总是枯燥乏味,所以直接上例子:
他的原理就是将scr上面的字符复制粘贴到des上就行了,画图解释:
当然,这道题也不一定要求是用strcpy,也可以用while循环,让他一个个放进去就行了
格式:strcat(字符数组1,字符数组2)
功能:把字符数组2连接到字符数组1后面
返回值:返回字符数组1的首地址
说明:
(1)字符数组1必须足够大
(2)连接前,两串均以‘\0’结束,连接后,串1的‘\0’取消,新串最后加‘\0’
格式:strcmp(字符串1,字符串2)
功能:比较两个字符串
比较规则:对两串从左向右逐个字符比较(ASCII),直到遇到不同字符或 '\0'为止
返回值:返回int型整数
1.若字符串1 < 字符串2,返回负整数
2.若字符串1 > 字符串2,返回正整数
3.若字符串1 = 字符串2,返回零