day9 指针 函数封装

文章详细介绍了如何在C语言中使用自定义函数实现字符串比较(my_strcmp)、字符串链接(my_strcat)、计算字符串长度(my_strlen)以及字符串拷贝(my_strcop)。通过实例展示了这些函数的用法和运行结果。
摘要由CSDN通过智能技术生成

1:在主函数定义字符数组,在自定义函数中实现字符串比较

  4 int my_strcmp(char *a,char *b);
  5 int main(int argc, const char *argv[])
  6 {
  7     //strcmp 函数比叫ascii码值大小
  8     char a[10]="hello";
  9     char b[10]="helloo";
 10 
 11 int sub= my_strcmp(a,b);
 12 if(sub>0)
 13 {
 14     printf("a>b");
 15 }                                                                                   
 16 else if(sub==0)
 17 {
 18     printf("a=b");
 19 }
 20 else
 21 printf("a<b");
 22 
 23     return 0;
 24 }
 25 int my_strcmp(char *a,char *b)
 26 {   
 27     int sub=0;
 28     int i=0;
 29     while(*(a+i)==*(b+i))
 30     {
 31         if(*(b+i)=='\0')
 32         break;
 33         i++;
 34     }
 35     sub=*(a+i)-*(b+i);
 36     return sub;
 37 }

运行结果:

2:在主函数定义字符数组,在自定义函数中实现字符串链接

  4 void my_strcat(char *desk,char *src);
  5 int main(int argc, const char *argv[])
  6 {
  7     //strcat 字符串链接 
  8     char desk[20]="hello";
  9     char src[20]="world";
 10     //strcat(desk,src);
 11     //puts(desk);
 12     my_strcat(desk,src);
 13     return 0;
 14 }
 15 void my_strcat(char *desk,char *src)
 16 {
 17     int i=0;
 18     while(*(desk+i)!='\0')
 19   {
 20     i++;
 21   }
 22   for(int j=0;*(src+j)!='\0';j++)
 23   {
 24     *(desk+i++)=*(src+j);
 25   }
 26     *(desk+i)='\0';
 27     puts(desk);
 28 }

运行结果:

3:在主函数定义字符数组,在自定义函数中实现字符串长度

  4 int my_strlen(char *a);
  5 int main(int argc, const char *argv[])
  6 {   
  7     char a[20]="hello";
  8 //  strlen(a);
  9 //  printf("%ld\n",strlen(a));
 10 int count=my_strlen(a);
 11 printf("%d\n",count);
 12     return 0;
 13 }
 14 int my_strlen(char *a)
 15 {   
 16     int count=0;
 17     for(int i=0;*(a+i)!='\0';i++)
 18     {   
 19         count++;
 20     }
 21     return count;
 22 }   

运行结果:

4:在主函数定义字符数组,在自定义函数中实现strcpy

  4 void my_strcop(char *a,char *b);
  5 int main(int argc, const char *argv[])
  6 {
  7     //在主函数定义字符数组,在自定义函数中实现字符串拷贝
  8     char a[20]="hello";
  9     char b[20]="1234";
 10     my_strcop(a,b);
 11     puts(a);
 12     puts(b);
 13    
 14     return 0;
 15 }
 16 
 17 void my_strcop(char *a,char *b)
 18 {   
 19     int i=0;
 20     for(i=0;*(a+i)!='\0';i++)
 21     {   
 22         *(a+i)=*(b+i);
 23     }
 24     *(a+i)='\0';
 25 
 26 }   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值