尝试实现strlen(),strcpy(),strcat(),strcmp()

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#define LL long long

//strlen(),strcpy(),strcat(),strcmp()

int _strlen(char s[])
{
    int i = 0;
    while(s[i] != '\0') i++;
    return i;
}
int _strcpy(char s1[], char s2[])
{
    int i = 0;
    while(s1[i] != '\0'){
        s1[i] = s2[i];
        i++;
    }
    return 0;
}
int _strcat(char s1[], char s2[])
{
    int s1_len = 0, s2_len = 0;
    while(s1[s1_len] != '\0') s1_len++;
    while(s2[s2_len] != '\0'){
        s1[s1_len + s2_len] = s2[s2_len];
        s2_len++;
    }
    return 0;
}
int _strcmp(char s1[], char s2[])
{
    int s1_len = 0, s2_len = 0, k = 0;
    while(s1[s1_len] != '\0') s1_len++;
    while(s2[s2_len] != '\0') s2_len++;
    if(s1_len == s2_len){
        for(int i = 0; i < s1_len; i++){
            if(s1[i] == s2[i]) k++;
            else if(s1[i] > s2[i]) return 1;
            else if(s1[i] < s2[i]) return-1;
        }
        if(k == s1_len) return 0;
    }
    else if(s1_len > s2_len) return 1;
    else if(s1_len < s2_len) return -1;
}
int main()
{
    char s[] = "abcde", c[] = "fghij";
    printf("%d\n", _strlen(s));

    _strcpy(s, c);
    printf("%s\n", s);

    _strcat(s,c);
    printf("%s\n", s);

    printf("%d\n", _strcmp(s, c));
    return 0;
}

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值