您的位置: 首页 - 站长

wordpress插图插件网站seo关键词排名

当前位置: 首页 > news >正文

wordpress插图插件,网站seo关键词排名,百度优化公司,做设计用的常用网站1.strlen的使用和模拟实现 strlen 用来求字符串的长度#xff0c;统计\0之前字符的个数。 模拟实现1#xff1a;计数参数法 #includestdio.h #includeassert.h size_t my_strlen(char* str) {int count0;assert(str);//assert断言是判断是字符串不能为空w…1.strlen的使用和模拟实现 strlen 用来求字符串的长度统计\0之前字符的个数。 模拟实现1计数参数法 #includestdio.h #includeassert.h size_t my_strlen(char* str) {int count0;assert(str);//assert断言是判断是字符串不能为空while(str!\0){count;//计数 str; //指向下一个元素 } return count;//返回字符的个数 } int main() {char arr[]abcdef;//初始化size_t len my_strlen(arr);//调用函数printf(%d\n,len);//打印出字符的个数return 0; }
模拟实验2指针方法 #includestdio.h #includeassert.h size_t my_strlen(const char
str) {const char*startstr;assert(str);//assert断言是判断是字符串不能为空while(str!\0){str; //指向下一个元素 } return str-start; } int main() {char arr[]abcdef;//初始化size_t len my_strlen(arr);//调用函数printf(%d\n,len);//打印出字符的个数return 0; }
模拟实验3递归方法 #includestdio.h #includeassert.h size_t my_strlen(const char
str) {assert(str);//assert断言是判断是字符串不能为空if(str!\0){return 1my_strlen(str1);//递归方法 }else{return 0;//返回字符的个数 } } int main() {char arr[]abcdef;//初始化size_t len my_strlen(arr);//调用函数printf(%d\n,len);//打印出字符的个数return 0; }
2strcpy 的使用和模拟实现拷贝字符串 char
strcpy(char * destination,const char * source); 1源字符串必须以’\0‘结束 2会将源字符串中的’\0‘拷贝到目标空间 3目标空间必须足够大以确保能存放源字符串 4目标空间必须可以修改 strcpy的模拟实现一 #includestdio.h #includeassert.h #includestring.h char* my_strcpy(char* dest,const char* str) {assert(strdest);//assert断言是判断是字符串不能为空char*retdest;//将目标字符的首地址复制给ret while(*dest*src)//直到src复制完成后到最后的\0 {;}*destsrc;//再将最后的\0复制过去 return ret;//返回目标空间的起始地址 } int main() {char arr1[]abcdef;//初始化char arr2[20]{0}; my_strcpy(arr2,arr1);//调用函数将arr1里面的字符拷贝到arr2里面 printf(%s\n,arr2);//打印出arr2字符return 0; }
strcpy的模拟实现二 #includestdio.h #includeassert.h #includestring.h char
my_strcpy(char* dest,const char* src) {while(*src!\0)//直到src复制完成后到最后的\0 {assert(dest);//调到的函数不为空*dest*src;//赋值头指针 dest; src; }*destsrc;//再将最后的\0复制过去 } int main() {char arr1[]abcdef;//初始化char arr2[20]{0}; my_strcpy(arr2,arr1);//调用函数将arr1里面的字符拷贝到arr2里面 printf(%s\n,arr2);//打印出arr2字符return 0; }
3.strcat的使用和模拟实现连接 源字符串必须以\0结束 目标字符串中也得有\0否则没办法知道追加从哪里开始 目标空间必须有足够大能容纳下源字符串的内容 目标空间必须可以修改 strcat模拟实现 #includestdio.h #includeassert.h #includestring.h char
my_strcat(char* dest,const char* src) {char*retdest;//将dest的首地址赋值给ret assert(src);//判断使src字符串不为空 while(*dest!\0) {dest; //直到找到dest字符串的末尾 }while(*dest*src)//依次进行赋值 {;} return ret;// 返回ret的值 } int main() {char arr1[]abcdef;//初始化char arr2[20]{0}; my_strcat(arr2,arr1);//调用函数将arr1里面的字符拷贝到arr2里面 printf(%s\n,arr2);//打印出arr2字符return 0; }
那么strcat可以自己复制自己吗? 不可以那样的话就找不到\0了\0被覆盖了就停不下来了。 4.strcmp的使用和模拟实现 *第一个字符串大于第二个字符串则返回大于0的数字 *第一个字符串等于第二个字符串则返回0 *第一个字符串小于第二个字符串则返回小于0的数字 int strcmp(const  cahr*str1,const char *str2) 比较的不是字符串的长度而是对应位置上字符的大小。 strcmp函数的模拟实现 #includestdio.h #includeassert.h #includestring.h int my_strcmp(const charstr1,const char str2) {assert(str1str2);//assert断言是两个字符出串都不为空 while(*str1*str2){if(*str1\0)//在循环里面比较完后说明都相等 {return 0;}str1;//字符相等的时候继续往后进行比较 str2;}return (*str1-*str2);//返回他们的差值 } int main() {char arr1[]abcdef;//初始化char arr2[]abcfr; int retmy_strcmp(arr1,arr2);//调用函数将arr1里面的字符与arr2及进行比较 printf(%d\n,ret);//打印出返回的值 return 0; }
5.strncpy函数的使用和模拟实现 char *strncpy(char * dest ,char * src , size_t num) //多了这么一个参数就是将src中num个字符拷贝给dest #includestdio.h #includestring.h int main() {char arr1[]abcdef;//初始化char arr2[20]{0}; strncpy(arr2,arr1,3); //将arr1中的三个字符 拷贝给arr2 printf(%s,arr2);return 0; }
strncpy的模拟实验 #includestdio.h void my_strncpy(char* dest,const char* src,size_t num) {size_t i0;for(i0;inum*src!\0;i)//判断条件是src不为空的时候对其进行赋值 {*dest*src;dest;src;}for(;inum;i)//将dest后的字符置为空 {*dest\0;}} int main() {char arr1[]abcdef;//初始化char arr2[20]{0}; my_strncpy(arr2,arr1,4); //将arr1中的三个字符 拷贝给arr2 printf(%s,arr2);return 0; }
6.strncat的使用和模拟实现 char * strncat(char *dest,const *src,size_t num) //多了这么一个参数就是src从末尾开始加num个字符 #includestdio.h #includestring.h int main() {char arr1[]abcdef;//初始化char arr2[20]{0}; my_strncpy(arr2,arr1,4); //将arr1中的三个字符 拷贝给arr2 printf(%s,arr2);return 0; }
strncat的模拟实现 #includestdio.h #includeassert.h #includestring.h void my_strcat(char dest,const char src,size_t num) {assert(destsrc);size_t i;while(*dest!\0){dest;//是指针指到dest的尾指针 }for(i0;inum*src!\0;i){*dest*src;//将num个字符依次加到dest里面 dest;src;}*dest\0;//把末尾的\0加上 } int main() {char arr1[]abcdef;//初始化char arr2[20]hahhah; my_strcat(arr2,arr1,4); //将arr1中的4个字符加到arr2后面 printf(%s,arr2);return 0; }
7.strncmp的使用和模拟实现 char *strncmp(char *dest,const char src,size_t num) //多了一个num是最多比较字符的个数 #includestdio.h #includestring.h int main() {char arr1[]abcdefg;char arr2[]abcfr;int retstrncmp(arr1,arr2,4);//将arr1和arr2的前四个字符进行比较 printf(%d,ret);return 0;}
//说明arr1对应字符的大小比arr2小。 strncmp的模拟实现 #includestdio.h #includeassert.h int my_strncmp(const char
dest,const char*src,size_t num) {assert(destsrc);for(size_t i0;inum;i){if(dest[i]!src[i])//如果字符不相等返回差值 {return (unsigned char)dest[i]-(unsigned char)src[i];}if(dest[i]\0)//如果遇到的也会继续比较直到num个结束后 {return 0;//前几个字符相等返回0 }}return 0; } int main() {char arr1[]abcdefg;char arr2[]abcfr;//初始化 int retmy_strncmp(arr1,arr2,4);//将arr1和arr2的前四个字符进行比较 printf(%d,ret);return 0;}