strlen、strcpy、strcmp的用法
时间: 2023-10-08 15:11:15 浏览: 82
1. strlen:用于计算字符串的长度,其函数原型为:size_t strlen(const char *str)。
- 参数:str为要计算长度的字符串。
- 返回值:返回字符串的长度,不包括结束符'\0'。如果str为NULL,则返回0。
- 示例:
```c
char str[] = "Hello world";
size_t len = strlen(str);
printf("字符串的长度为:%zu\n", len); // 输出:字符串的长度为:11
```
2. strcpy:用于将一个字符串复制到另一个字符串中,其函数原型为:char *strcpy(char *dest, const char *src)。
- 参数:dest为目标字符串(要被复制的字符串),src为源字符串(要复制的字符串)。
- 返回值:返回目标字符串的地址。
- 注意:如果目标字符串的长度小于源字符串的长度,则会发生数组越界错误。
- 示例:
```c
char src[] = "Hello world";
char dest[20];
strcpy(dest, src);
printf("复制后的字符串为:%s\n", dest); // 输出:复制后的字符串为:Hello world
```
3. strcmp:用于比较两个字符串是否相同,其函数原型为:int strcmp(const char *str1, const char *str2)。
- 参数:str1和str2为要比较的两个字符串。
- 返回值:若str1和str2相同,则返回0;若str1大于str2,则返回一个正数;若str1小于str2,则返回一个负数。
- 示例:
```c
char str1[] = "Hello";
char str2[] = "hello";
int result = strcmp(str1, str2);
if(result == 0)
printf("两个字符串相同\n");
else if(result > 0)
printf("str1大于str2\n");
else
printf("str1小于str2\n");
// 输出:str1小于str2
```
阅读全文