封装strcpy,strcmp,strcat,strlen的功能

在不调用函数库的前提下,封装strcpy

#include <stdio.h>
     
// 字符串拷贝
char *mystrcpy(char *dest, const char *src)
{
   int i;
   for ( i = 0; src[i] != '\0'; i++)
   {
      dest[i] = src[i];
   }
   dest[i] = '\0';
   return dest;
}

int main(int argc, char const *argv[])
{
   char dest[50];              //目标字符串
   char src[50] = "hello";     //源字符串
   mystrcpy(dest,src);
   printf("拷贝后的结果为:%s\n",dest);
   return 0;
}

在不调用函数库的前提下,封装strcmp

#include <stdio.h>

// 字符串比大小
int mystrcmp(const char *s1, const char *s2)
{
   int i,num;
   for ( i = 0; s1[i] != '\0'; i++)
   {
      num=s1[i]-s2[i];
      if (num != 0)
         break;
      if (s1[i]=='\0' && s2[i]=='\0')
         break;
   }
   return num;
}

int main(int argc, char const *argv[])
{
   char s1[50];    //目标字符串
   char s2[50];     //源字符串
   printf("请输入两个字符串进行比较:\n");
   scanf("%s %s",s1,s2);
   int jg = mystrcmp(s1,s2);
   printf("比较后的结果为:%d\n",jg);
   return 0;
}

封装strcat

#include <stdio.h>
#include <string.h>

// 字符串拼接
char *mystrcat(char *dest, const char *src)
{
   int i = 0;  //目标字符串的i
   int j = 0;  //源字符串的j
   for (i = strlen(dest); src[j] != '\0'; i++)
   {
      dest[i] = src[j];
      j++;
   }
   return dest;
}

int main(int argc, char const *argv[])
{
   char dest[50] = "hello"; // 目标字符串
   char src[50] = " world"; // 源字符串
   mystrcat(dest, src);
   printf("拼接后的结果为:%s\n", dest);
   return 0;
}

封装strlen

#include <stdio.h>

//求字符串长度
int mystrlen(const char *s)
{
   int i;
   int count =0;
   for ( i = 0; s[i] != '\0'; i++)
   {
      count++;
   }
   return count;
}

int main(int argc, char const *argv[])
{
   char s[50];
   printf("请输入一个字符串:\n");
   scanf("%s",s);
   int count = mystrlen(s);
   printf("字符串长度为:%d\n",count);

   return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值