zzy-c

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
#include<string.h>
#include<assert.h>
//1.计数器的版本
//2.递归的版本
//3.指针-指针
//int print_len(const char* arr)
//{
//    int count = 0; //计数器
//    assert(arr != NULL);
//    while (*arr !='\0')
//    { 
//        count++;
//        arr++;
//    }
//    return count;
//}
//char* my_strcat(char* dest,const char* src)
//{
//    //hello_\0 arr1
//    //world\0 arr2
//    //1.找到目标字符串的\0
//    //2.源数据追加过去,包含\0
//    char* ret = dest;
//    assert(dest != NULL);
//    assert(src != NULL);
//    while (*dest)  // \0的ASSCII码是0
//    {
//        dest++;
//    }
//    //2.源数据追加过去,包含\0
//    while (*dest++ = *src++)
//    {
//        ;
//    }
//    return ret;//返回目标空间的起始地址
//}
//int main()
//{
//    char arr1[20] = "hello \0########";
//    char arr2[] = "world";
//    //char* ret = my_strcat(arr1, arr2);//字符串追加(连接)
//    char* ret = strcat(arr1, arr1);
//    printf("%s\n", ret);
//
//    return 0;
//}
//int main()
//{
//    //strcmp-字符串比较大小
//    int ret = strcmp("abbb", "abc");//比较对应位置的ASSICC码值
//    printf("%d ", ret);
//    return 0;
//}
// 
int my_strcmp(const char* s1, const char* s2)
{
    assert(s1 && s2);
    while (*s1 == *s2)
    {
        if (*s1 == '\0')
        {
            return 0;
        }
        s1++;
        s2++;
        
    }
    if (*s1 > *s2)
    {
        return 1;
    }
    else
    {
        return -1;
    }
}
int main()
{
    char* p = "abcdef";
    char* q = "abqb";
    int ret = my_strcmp(p, q);
    if (ret > 0)
    {
        printf("p > q\n");
    }
    else if (ret < 0)
    {
        printf("p < q\n");
    }
    else
    {
        printf("p == q\n");
    }
}

 

 

posted on 2022-04-10 18:39  zzy_C  阅读(46)  评论(0)    收藏  举报