strcmp---比较字符串大小的使用要求,实例,自制my_strcmp

简介: strcmp---比较字符串大小的使用要求,实例,自制my_strcmp
//strcmp---比较字符串大小
//如果第一个字符串>第二个,则输出应该1。相等,输出0。第一个<第二个,输出-1
//不能直接比较如if("abc">"obc"),因为此时比较的是a o两个地址大小
//int main()
//{
//    int ret1 = strcmp("abccd", "abc");
//    printf("%d\n", ret1);
//    //另一种描写方式:
//    char* p = "abccd";
//    char* q = "abc";
//    int ret2 = strcmp(p, q);
//    if (ret2 > 0)
//        printf("第一个字符串大\n");
//    else if (ret2 = 0)
//        printf("两个字符串一样大\n");
//    else 
//        printf("第二个字符串大\n");
//    return 0;
//}
//用my_strcmp模拟strcmp
//思路:逐个字符比较(while和++),若(if)第一个字符串的字符>第二个字符串的字符,则return 1...
int my_strcmp(const char*s1, const char* s2)
{
    assert(*s1 && s2);
    while (*s1 == *s2)
    {
        if (*s1 == '\0' || *s2 == '\0')
        {
            return 0;
        }
        s1++;
        s2++;
    }
    if (*s1 > *s2)
    {
        return 1;
    }
    else
    {
        return -1;
    }
    /*159-166行代码可化简为:
    return *s1 - *s2;*/
}
int main()
{
    char* p = "abc";
    char* q = "abcd";
    int ret2 = my_strcmp(p, q);
    if (ret2 > 0)
        printf("第一个字符串大\n");
    else if (ret2 == 0)
        printf("两个字符串一样大\n");
    else
        printf("第二个字符串大\n");
    return 0;
}


相关文章
|
7月前
strlen,strcpy,stract,strcmp,strstr函数的模拟实现
strlen,strcpy,stract,strcmp,strstr函数的模拟实现
64 3
|
7月前
|
C语言
[字符串和内存函数]strcmp和strncmp以及memcmp的区别
[字符串和内存函数]strcmp和strncmp以及memcmp的区别
172 0
|
2月前
解析与模拟常用字符串函数strcpy,strcat,strcmp,strstr(一)
解析与模拟常用字符串函数strcpy,strcat,strcmp,strstr(一)
40 0
|
2月前
|
C语言
深入解析sizeof和strlen的区别与联系
深入解析sizeof和strlen的区别与联系
|
6月前
|
C语言
C语言学习记录——模拟字符串相关函数(strcpy、strlen、strcat)相关知识-const、typedef
C语言学习记录——模拟字符串相关函数(strcpy、strlen、strcat)相关知识-const、typedef
37 1
|
7月前
|
Java 编译器 C语言
深入了解字符(串)函数 -- -- 字符(串)函数的实现(strlen、strcpy、strcmp、strcat、strstr、)内存函数的实现(memcpy、memmove)
深入了解字符(串)函数 -- -- 字符(串)函数的实现(strlen、strcpy、strcmp、strcat、strstr、)内存函数的实现(memcpy、memmove)
50 0
|
7月前
|
PHP C++
[字符串和内存函数]strcpy和strlen字符串函数的详解和模拟
[字符串和内存函数]strcpy和strlen字符串函数的详解和模拟
71 0
|
7月前
|
C语言 C++
C语言变量、地址、字符及printf()/sizeof()/scanf()函数介绍
C语言变量、地址、字符及printf()/sizeof()/scanf()函数介绍
35 0
|
7月前
strlen与sizeof 的基本用法
strlen与sizeof 的基本用法
48 0
|
存储 Linux C语言
深入解析Linux环境下的sprintf()和printf()函数
在C语言中,`sprintf()`和`printf()`函数是用于格式化输出的两个重要函数。`sprintf()`函数将格式化的数据写入一个字符串,而`printf()`函数则将格式化的数据输出到标准输出。在Linux环境中,这两个函数被广泛应用于各种编程任务。本文将详细介绍这两个函数的用法,包括格式化字符串的语法和一些常见的使用场景。
563 1