c 语言strcmp
时间: 2023-06-21 16:12:42 浏览: 105
strcmp是C语言中的字符串比较函数,用于比较两个字符串是否相等。
函数原型如下:
```
int strcmp(const char *str1, const char *str2);
```
参数说明:
- `str1`:要比较的第一个字符串。
- `str2`:要比较的第二个字符串。
函数返回值:
- 如果 `str1` 和 `str2` 相等,返回0。
- 如果 `str1` 大于 `str2`,返回大于0的值。
- 如果 `str1` 小于 `str2`,返回小于0的值。
注意:该函数比较的是字符串的字典序,而不是字符串的长度。
举个例子:
```
#include <stdio.h>
#include <string.h>
int main()
{
char str1[] = "hello";
char str2[] = "world";
char str3[] = "hello";
printf("%d\n", strcmp(str1, str2)); // 输出负数
printf("%d\n", strcmp(str1, str3)); // 输出0
printf("%d\n", strcmp(str2, str1)); // 输出正数
return 0;
}
```
输出:
```
-15
0
15
```
其中,输出的负数、0、正数分别表示 `str1` 小于、等于、大于 `str2`。
相关问题
c 语言两个字符串比较 不用strcmp
要比较两个字符串而不使用strcmp函数,你可以使用循环来逐个比较字符串中的字符。下面是一个示例代码:
```c
#include <stdio.h>
int compareStrings(const char* str1, const char* str2) {
int i = 0;
while (str1[i] != '\0' || str2[i] != '\0') {
if (str1[i] != str2[i]) {
return 0; // 字符不相等,返回0
}
i++;
}
return 1; // 字符串相等,返回1
}
int main() {
const char* str1 = "Hello";
const char* str2 = "Hello";
if (compareStrings(str1, str2)) {
printf("两个字符串相等\n");
} else {
printf("两个字符串不相等\n");
}
return 0;
}
```
在上面的示例中,`compareStrings`函数会逐个比较两个字符串中的字符。如果在比较过程中遇到不相等的字符,它会立即返回0表示不相等。如果整个字符串都比较完毕且没有遇到不相等的字符,则返回1表示相等。
注意,在实际编程中,你可能还需要考虑字符串长度不一致的情况,并且要确保字符串以空字符 '\0' 结尾。
c 语言两个字符串比较 不同strcmp
你可以使用strcmp函数来比较两个字符串是否相同。strcmp函数会返回一个整数值,表示两个字符串的大小关系。
如果返回值为0,则表示两个字符串相等;
如果返回值小于0,则表示第一个字符串小于第二个字符串;
如果返回值大于0,则表示第一个字符串大于第二个字符串。
下面是一个比较两个字符串的示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello";
char str2[] = "World";
int result = strcmp(str1, str2);
if (result == 0) {
printf("两个字符串相等\n");
} else if (result < 0) {
printf("第一个字符串小于第二个字符串\n");
} else {
printf("第一个字符串大于第二个字符串\n");
}
return 0;
}
```
在上面的例子中,str1和str2分别代表两个要比较的字符串。strcmp函数比较了这两个字符串,并将结果存储在result变量中。根据result的值,我们可以判断两个字符串的大小关系并输出相应的结果。
希望这能帮到你!如果你还有其他问题,请随时提问。
阅读全文