C语言练习 -- 15

#define _CRT_SECURE_NO_WARNINGS 1
#include<string.h>
#include<stdio.h>
#include<assert.h>
#include<stdlib.h>

////1. 计数器的方法
////2. 递归
////3. 指针 - 指针
//
////size_t == unsigned int
//int my_strlen(const char* str)
//{
//    int count = 0;
//    assert(str != NULL);
//
//    while (*str !='\0')
//    {
//        count++;
//        str++;
//    }
//    return count;
//}
//
//
//int main()
//{
//    //int len = my_strlen("abcdef");
//    //
//    //// err
//    ////char arr[] = { 'a','b','c','d','e','f' };
//    ////int len = strlen(arr);//随机值
//    //printf("%d\n", len);
//        // 3          -        6   = -3 - 无符号数 是大于0的数字
//    if (my_strlen("abc") - my_strlen("abcdef") > 0)
//    {
//        printf("hehe\n");
//    }
//    else
//    {
//        printf("haha\n");
//    }
//    return 0;
//}



//递归 - 不创建临时变量求字符串长度


//char* my_strcpy(char* dest,const char* src)
//{
//    assert(dest != NULL);
//    assert(src != NULL);
//    char* ret = dest;
//    //拷贝src指向的字符串到dest指向的空间,包含'\0'
//    while (*dest++ = *src++)
//    {
//        ;
//    }
//    //返回目的空间的起始地址
//    return ret;
//}
//
//int main()
//{
//    char arr1[] = "abcdef";
//    //char *arr1 = "abdfafefa";//err 
//    char arr2[] = "bit";
//
//    my_strcpy(arr1,arr2);
//    printf("%s\n", arr1);
//    printf("%s\n", arr2);
//    return 0;
//}


//char* my_strcat(char* dest,const char* src)
//{
//    assert(dest && src != NULL);
//    char* ret = dest;
//    
//    //1. 找到目的字符串的‘\0’
//    while (*dest!='\0')
//    {
//        dest++;
//    }
//    //2. 追加
//    while (*dest++ = *src++)
//    {
//        ;
//    }
//    return dest;
//}
//
//int main()
//{
//    char arr1[30] = "hello";
//    char arr2[] = "world";
//    my_strcat(arr1, arr2);
//    printf("%s\n", arr1);
//
//    return 0;
//}

int main()
{
    char arr1[30] = "hello";
    char arr2[] = "world";
    strcat(arr1, arr1);
    printf("%s\n", arr1);

    return 0;
}

 

posted @ 2022-05-28 09:37  JimJZY  阅读(72)  评论(0)    收藏  举报