strcmp ( const char * str1, const char * str2 )
时间: 2023-10-24 12:05:27 浏览: 57
strcmp ( const char * str1, const char * str2 ) 是一个C语言的字符串比较函数,用于比较两个字符串的大小。它会根据字符串的字典序进行比较,返回一个整数值作为比较结果。如果 str1 小于 str2,则返回一个负数;如果 str1 等于 str2,则返回0;如果 str1 大于 str2,则返回一个正数。
相关问题
char my_strcmp(char *str1,const char *str2);C语言
`my_strcmp` 函数是用来比较两个字符串 `str1` 和 `str2` 是否相等。函数的原型如下:
```c
int my_strcmp(const char *str1, const char *str2);
```
其中,`str1` 和 `str2` 是要比较的字符串。
函数的实现如下:
```c
int my_strcmp(const char *str1, const char *str2) {
while (*str1 && *str2 && (*str1 == *str2)) {
str1++;
str2++;
}
return (*str1 - *str2);
}
```
函数会逐个比较两个字符串对应位置的字符,如果相等则继续比较下一个字符,直到遇到不相等的字符或者其中一个字符串的结束符为止。如果两个字符串完全相等,函数返回值为 0;如果 `str1` 大于 `str2`,返回值为正数;如果 `str1` 小于 `str2`,返回值为负数。
使用示例:
```c
#include <stdio.h>
int main() {
char str1[] = "Hello";
char str2[] = "Hello";
int result = my_strcmp(str1, str2);
if (result == 0) {
printf("Strings are equal\n");
} else if (result > 0) {
printf("String 1 is greater than String 2\n");
} else {
printf("String 1 is less than String 2\n");
}
return 0;
}
```
输出结果为:
```
Strings are equal
```
int my_strcmp(char *str1,const *str2);
首先,你的函数声明中有一个错误。`const`键字应该放在 `char` 前面,指明 `str2` 是一个指向常量字符的指针。这样的话,函数声明应该是这样的:
```c
int my_strcmp(char *str1, const char *str2);
```
接下来,你可以使用以下代码来实现一个类似于 `strcmp` 的函数:
```c
int my_strcmp(char *str1, const char *str2) {
while (*str1 == *str2) {
if (*str1 == '\0')
return 0;
str1++;
str2++;
}
return *str1 - *str2;
}
int main() {
char str1[] = "Hello";
char str2[] = "Hello";
int result;
result = my_strcmp(str1, str2);
if (result == 0) {
printf("Strings are equal\n");
} else if (result > 0) {
printf("String 1 is greater than String 2\n");
} else {
printf("String 1 is less than String 2\n");
}
return 0;
}
```
在上面的示例中,我们使用 `my_strcmp` 函数比较了两个字符串 `str1` 和 `str2`。根据函数的返回值,我们可以判断两个字符串的关系。如果返回值为 0,则表示两个字符串相等;如果返回值大于 0,则表示 `str1` 大于 `str2`;如果返回值小于 0,则表示 `str1` 小于 `str2`。
输出结果为:
```
Strings are equal
```
希望能对你有所帮助!
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)