strncmp
时间: 2023-07-25 10:10:56 浏览: 136
`strncmp()`是一个C标准库函数,用于比较两个字符串的前n个字符是否相等。
函数原型如下:
```c
int strncmp(const char *s1, const char *s2, size_t n);
```
函数参数说明:
- `s1`:指向第一个要比较的字符串的指针。
- `s2`:指向第二个要比较的字符串的指针。
- `n`:要比较的字符数。
函数返回值:
- 如果两个字符串的前n个字符都相等,则返回0。
- 如果两个字符串的前n个字符中有不同的字符,则返回它们第一个不同字符的 ASCII 码差值。
- 如果两个字符串的前n个字符都相等,但是其中一个字符串长度小于n,则返回它们长度的差值。
下面是一个简单的例子:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str1[] = "hello";
char str2[] = "hellp";
int result = strncmp(str1, str2, 4);
if (result == 0) {
printf("str1 and str2 are equal\n");
} else if (result < 0) {
printf("str1 is less than str2\n");
} else {
printf("str1 is greater than str2\n");
}
return 0;
}
```
输出结果为:
```
str1 is less than str2
```
因为`str1`的前4个字符"hell"与`str2`的前4个字符"hell"相等,但是第5个字符不同,所以`strncmp()`返回的结果为它们第一个不同字符的 ASCII 码差值,即'0'-'p'=-4。
阅读全文