【C】c语言模拟实现strcopy函数和strlen函数!!

来源:互联网 发布:淘宝网手机客户端 编辑:程序博客网 时间:2024/05/29 19:16
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int My_strlen(const char *ch)     //加const是为了不要让其他的条件改变ch的值{int count = 0;             //定义一个计数器countwhile((*ch++)!='\0')       //只要ch数组里面的字符串不是\0则计数器就加1{count++;}return count;            //将计数器的值返回}int main(){char ch[]="abcdef";int len = My_strlen(ch);printf("%d\n",len);return 0;}
my_strlen利用指针实现,
int my_strlen (const char *dest){  const char *p = dest;//先保存一份dest的地址  while (*dest)      dest++;          //找到dest 的最后一个元素的地址  return dest-p;       //利用指针相减得到元素的个数}


my_strlen利用递归实现int my_strlen(const char *dest){if (*dest)return 1+my_strlen(dest+1);//每找到一个不为\0的成员就+1return 0;}


输出结果均为:
#include <stdio.h>void My_strcpy(char *dest,const char *src)             //加const的目的是为了保证src所指向的字符串不被外界因素改变{while((*dest++=*src++)&&*src!='\0')           //将src里的字符复制给dest;*dest++ =  '\0';                              //上面的复制并没有将\0复制给dest,所以这里要加上}int main(){char arr[]="abcdef";char aim[7];My_strcpy(aim,arr);printf("%s\n",aim);return 0;}

                                             
1 0