有关字符串的问题

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

//字符串拷贝函数,这里给出了4种方法
方法1:
void Mystrcpy1(char *des, const char *src)
{
 int i = 0;
 while (src[i] != '\0')                      //    for (i=0; src[i]!='\0'; i++)
 {                                                   //    {
  des[i] = src[i];                             //       des[i] = src[i];
  i++;                                            //     }
 }                                                  //
 des[i] = '\0';
}
方法2:
void Mystrcpy2(char *des, const char *src)
{
 int i = 0;
 for ( ; *(src+i)!='\0'; i++)
 {
  *(des + i) = *(src + i);
 }
 *(des+i) = '\0';
}
方法3:
void Mystrcpy3(char *des, const char *src)
{
 while (*src != '\0')
 {
  *des = *src;                     //这三个语句可以写成:
  des ++;                            //*(des ++) = *(src ++);
  src ++;                            //
 }
 *des = '\0';
}
方法4:
void Mystrcpy4(char *des, const char *src)
{
 while (*des++ = *src++);
}

//字符串的连接
char *Mystrcat(char *des, const char *src)
{
 while (*des != '\0')
 {
  des ++;
 }
 while (*(des++) = *(src++));
 return des;
}

//字符串的比较
int Mystrcmp(const char *str1, const char *str2)
{
 int tmp;
 assert(str1!=NULL && str2!=NULL);
 while ((tmp = *str1 - *str2) == 0 && *str1!= '\0')
 {
  str1 ++;
  str2 ++;
 }
 return tmp;
}
 
 



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值