strcpy和strcmp
时间: 2023-10-28 20:57:28 浏览: 106
strcpy和strcmp是C语言中的两个字符串处理函数。
1. strcpy函数(字符串复制函数)用于将一个字符串的内容复制到另一个字符串中。它的原型如下:
```c
char* strcpy(char* destination, const char* source);
```
参数`destination`是目标字符串,参数`source`是源字符串。该函数会将源字符串的内容复制到目标字符串中,并返回目标字符串的指针。
2. strcmp函数(字符串比较函数)用于比较两个字符串的大小关系。它的原型如下:
```c
int strcmp(const char* str1, const char* str2);
```
参数`str1`和`str2`分别是要比较的两个字符串。该函数会按照字典顺序比较两个字符串,并返回一个整数值,表示比较结果。若返回值小于0,则表示`str1`小于`str2`;若返回值等于0,则表示两个字符串相等;若返回值大于0,则表示`str1`大于`str2`。
这些函数在C语言中常用于字符串的处理和比较操作。
相关问题
用C语言写strcpy和strcmp
好的,这是实现 `strcpy` 函数的代码:
```c
char* strcpy(char* dest, const char* src) {
int i;
for (i = 0; src[i] != '\0'; i++)
dest[i] = src[i];
dest[i] = '\0';
return dest;
}
```
这是实现 `strcmp` 函数的代码:
```c
int strcmp(const char* str1, const char* str2) {
int i;
for (i = 0; str1[i] == str2[i]; i++) {
if (str1[i] == '\0')
return 0;
}
return str1[i] - str2[i];
}
```
请注意,这些代码仅供参考,在实际应用中可能需要进行一些修改。
strlen、strcpy、strcmp的用法
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
```
阅读全文