strlen 和strcmp,strcpy,sizeof的区别
作者:
七秒归零 | 来源:发表于
2021-12-19 10:11 被阅读0次
1.strlen
C语言 strlen 函数用来求字符串的长度(包含多少个字符)。strlen() 函数从字符串的开头位置依次向后计数,直到遇见\0,然后返回计时器的值。最终统计的字符串长度不包括\0。
size_t strlen(const char* str); 参数 str 表示要求长度的字符串。
注意:strlen 的返回结果是 size_t 类型(即无符号整型),而 size_t 类型绝不可能是负的。因此,语句“if(strlen(x)-strlen(y)>=0)”将永远为真。同样,就算表达式中同时包含了有符号整数和无符号整数,还是有可能产生意想不到的结果。
2.strcmp
C 库函数 int strcmp(const char *str1, const char *str2) 把 str1 所指向的字符串和 str2 所指向的字符串进行比较。
该函数返回值如下:
如果返回值小于 0,则表示 str1 小于 str2。
如果返回值大于 0,则表示 str1 大于 str2。
如果返回值等于 0,则表示 str1 等于 str2。
3.strcpy()
char *strcpy(char *dest, const char *src) 把 src 所指向的字符串复制到 dest。
4.sizeof
sizeof 是一个单目运算符 ,相对于函数 strlen,它包括结束字符 null。同时,对 sizeof 而言,因为缓冲区已经用已知字符串进行了初始化,其长度是固定的,所以 sizeof 在编译时计算缓冲区的长度。也正是由于在编译时计算,因此 sizeof 不能用来返回动态分配的内存空间的大小。
本文标题:strlen 和strcmp,strcpy,sizeof的区别
本文链接:https://www.haomeiwen.com/subject/zzgafrtx.html
网友评论