strcmp判断两个字符串大小的函数原代码
时间: 2024-04-22 16:03:28 浏览: 101
以下是strcmp函数的原代码:
```c
int strcmp(const char* s1, const char* s2)
{
while(*s1 && (*s1 == *s2))
{
s1++;
s2++;
}
return *(const unsigned char*)s1 - *(const unsigned char*)s2;
}
```
该函数接受两个字符串作为参数,并返回它们的大小关系。如果s1小于s2,则返回一个负数;如果s1等于s2,则返回0;如果s1大于s2,则返回一个正数。
该函数使用了一个while循环,依次比较两个字符串的每个字符,直到遇到不同的字符或者其中一个字符串结束。如果两个字符串相等,那么while循环将一直执行到其中一个字符串结束,此时返回0。如果两个字符串不相等,那么返回它们第一个不同的字符的差值。差值为负数则表示s1小于s2,差值为正数则表示s1大于s2。
相关问题
strcmp函数源代码
strcmp函数是C语言中的字符串比较函数,用于比较两个字符串是否相等。其函数原型为:
```c
int strcmp(const char *s1, const char *s2);
```
其中,s1和s2分别为要比较的两个字符串。
strcmp函数的实现方式可以有多种,以下是一种可能的实现方式:
```c
int strcmp(const char *s1, const char *s2) {
while (*s1 && (*s1 == *s2)) {
s1++;
s2++;
}
return *(const unsigned char*)s1 - *(const unsigned char*)s2;
}
```
该实现方式使用了指针遍历字符串,并逐个比较字符的方式。具体来说,该函数会先判断两个字符串的当前字符是否相等,如果相等则继续比较下一个字符,直到遇到不相等的字符或者其中一个字符串结束为止。最后,如果两个字符串长度相等且每个字符都相等,则返回0;如果两个字符串长度不相等或者存在不相等的字符,则返回它们之间的差值。
c语言strcmp函数源代码
下面是C语言中strcmp函数的源代码:
```c
int strcmp(const char *s1, const char *s2) {
while (*s1 && (*s1 == *s2)) {
s1++;
s2++;
}
return *(const unsigned char*)s1 - *(const unsigned char*)s2;
}
```
该函数用于比较两个字符串s1和s2,返回值为0表示两个字符串相等,否则返回两个字符串第一个不相同字符的ASCII码差值。该函数会遍历两个字符串,直到找到第一个不相同的字符为止。
阅读全文