strcpy、strlen、strcmp函数

C语言中strcpy,strcmp,strlen,strcat函数原型

在文思创新面试中,出现过考题:自己编写strcpm的实现,IBM曾经也考过写strcpy原型,这几个函数在面试的时候经常被考到,很具有代表性,在面试中突然被问起还真有点措手不及呢。现在记下供大家学习和以后温习:

以下是我在学习过程中的小小锻炼:

一、strcpy

 #include<stdio.h>
char* mystrcpy(char *dest,const char *src)
{
        char *p=dest;
        while(*src)
       {
             *dest++=*src++;
        }
       *dest='\0';
       return p;
}
int main()
{
        char str1[20]="Hello",str2[20]="China";
        printf("%s\n",mystrcpy(str1,str2));
        return 0;
}

 

 

二、strcmp

#include<stdio.h>
int mystrcmp(char *s1,char *s2)
{
        int n=0;
        while((n=*s1-*s2)&&(s1!='\0'))
        {
                s1++;
                s2++;
        }
        n=*s1-*s2;
        if(n>0)
        {
               n=1;
         }
        else if(n<0)
        {
              n=-1;
         }
         return(n);
}
int main()
{
       char *str1="Hello";
       char *str2="China";
       int m=mystrcmp(str1,str2);
       if(m==1)
       {
                printf("str1>str2\n");
       }
      else if(m==-1)
      {
               printf("str1<str2\n");
      }
      else 
      {
              printf("str1=str2\n");
       }
       return 0;
}

 

 

三、strlen

#include<stdio.h>
int mystrlen(char *str)
{
 int len=0;
 while(*str++)
 {
  len++;
 }
 return(len);
}
int main()
{
 char *s1="Hello";
 printf("%d\n",mystrlen(s1));
 return 0;
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值