(编写代码实现)strcmp、strcpy、strcat、strlen

strcmp

代码及运行结果:

#include<stdio.h>
int my_strcmp(char *p,char *q)
{
    while(*p||*q)
    {
        if(*p++==*q++)
        {
            continue;
        }
        else
            return *p>*q?1:-1;
       
    }
    return 0;
}
void main()
{
    char a[]="hello";
    char b[]="world";
    char c[]="hello";
    switch (my_strcmp(a,b))    //my_strcmp(a,c)
    {
        case 1 : printf("a>b\n");break;
        case -1: printf("a<b\n");break;
        case 0 : printf("a=b\n");break;
        defalut:break;
    }
}

strcpy

 代码及运行结果:

#include<stdio.h>
void my_strcpy(char *p,char *q)
{
    while(*p++=*q++)
    ;
}
void mian()
{
    char a[]="hello";
    char b[]="world";
    my_strcpy(a,b);
    puts(a);
}

 

strlen

 代码及运行结果:

#include<stdio.h>
int my_strlen(char *q)
{
    int len=0;
    while(*q++)
        len++;
    return len;
}
void main()
{
    char a[]="hello";
    printf("%d\n",my_strlen(a));
}

strcat

代码及运行结果:

#include<stdio.h>
void my_strcat(char *p,char *q)
{
    while(*p)
        p++;
    while(*q)
        *p++=*q++;
}
void main()
{
    char a[50]="hello";
    char b[]="nihao";
    strcat(a,b);
    puts(a);
}

 

strlenstrcpystrcmpstrcat都是C语言中的字符串处理函数。其中strlen是用来计算字符串的长度的函数,其语法为:size_t strlen(const char *str),其中str表示需要计算长度的字符串。该函数的返回值为一个size_t类型的无符号整数,表示字符串的长度,不包括空字符('\0')。例如,若str为"hello",则strlen(str)的结果为5。 strcpy是用于将一个字符串复制到另一个字符串中的函数。其语法为:char *strcpy(char *dest, const char *src),其中dest表示目标字符串的地址,src表示需要复制的源字符串的地址。该函数会将src中的内容复制到dest中,并返回dest的值。例如,若src为"hello",dest为一个长度为10的字符数组,则执行strcpy(dest, src)后,dest数组中就存储了"hello"这个字符串。 strcmp是用于比较两个字符串是否相等的函数。其语法为:int strcmp(const char *s1, const char *s2),其中s1和s2表示需要比较的两个字符串。该函数会先比较s1和s2的第一个字符,若相同则继续比较后面的字符,直到不相等为止。返回值为一个整数,若s1>s2则返回正整数,若s1<s2则返回负整数,若s1=s2则返回0。例如,若s1为"abc",s2为"abd",则执行strcmp(s1, s2)后,返回的值为负整数。 strcat是用于将两个字符串连接起来的函数。其语法为:char *strcat(char *dest, const char *src),其中dest表示目标字符串的地址,src表示需要添加的源字符串的地址。该函数会将src中的内容添加到dest的末尾,并返回dest的值。例如,若dest为"hello",src为"world",则执行strcat(dest, src)后,dest数组中存储了"helloworld"这个字符串。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小珂打代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值