字符串函数
无论是再使用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,返回零
-
-
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!