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

a网站建设国外搜索引擎排名百鸣

a网站建设,国外搜索引擎排名百鸣,海尔集团网站的网络营销是什么,网站如何做宣传推广1.strlen的使用和模拟实现 strlen 用来求字符串的长度&#xff0c;统计\0之前字符的个数。 模拟实现1&#xff1a;计数参数法 #include<stdio.h> #include<assert.h> size_t my_strlen(char* str) {int count0;assert(str);//assert断言是判断是字符串不能为空w…

1.strlen的使用和模拟实现

strlen 用来求字符串的长度,统计'\0'之前字符的个数。

模拟实现1:计数参数法

#include<stdio.h>
#include<assert.h>
size_t my_strlen(char* str)
{int count=0;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:指针方法

#include<stdio.h>
#include<assert.h>
size_t my_strlen(const char* str)
{const char*start=str;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:递归方法

#include<stdio.h>
#include<assert.h>
size_t my_strlen(const char* str)
{assert(str);//assert断言是判断是字符串不能为空if(*str!='\0'){return 1+my_strlen(str+1);//递归方法 }else{return 0;//返回字符的个数 } 
}
int main()
{char arr[]="abcdef";//初始化size_t len =my_strlen(arr);//调用函数printf("%d\n",len);//打印出字符的个数return 0; } 

2,strcpy 的使用和模拟实现(拷贝字符串)

char* strcpy(char * destination,const char * source);

1:源字符串必须以’\0‘结束

2:会将源字符串中的’\0‘拷贝到目标空间

3:目标空间必须足够大,以确保能存放源字符串

4:目标空间必须可以修改

strcpy的模拟实现一:

#include<stdio.h>
#include<assert.h>
#include<string.h>
char* my_strcpy(char* dest,const char* str)
{assert(str&&dest);//assert断言是判断是字符串不能为空char*ret=dest;//将目标字符的首地址复制给ret while(*dest++=*src++)//直到src复制完成后到最后的\0 {;}*dest=*src;//再将最后的\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的模拟实现二:

#include<stdio.h>
#include<assert.h>
#include<string.h>
char* my_strcpy(char* dest,const char* src)
{while(*src!='\0)//直到src复制完成后到最后的\0 {assert(dest);//调到的函数不为空*dest=*src;//赋值头指针 dest++; src++; }*dest=*src;//再将最后的\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模拟实现

#include<stdio.h>
#include<assert.h>
#include<string.h>
char* my_strcat(char* dest,const char* src)
{char*ret=dest;//将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函数的模拟实现

#include<stdio.h>
#include<assert.h>
#include<string.h>
int my_strcmp(const char*str1,const char* str2)
{assert(str1&&str2);//assert断言是两个字符出串都不为空 while(*str1==*str2){if(*str1=='\0')//在循环里面比较完后,说明都相等 {return 0;}str1++;//字符相等的时候继续往后进行比较 str2++;}return (*str1-*str2);//返回他们的差值 
} 
int main()
{char arr1[]="abcdef";//初始化char arr2[]="abcfr"; int ret=my_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

#include<stdio.h>
#include<string.h> 
int main()
{char arr1[]="abcdef";//初始化char arr2[20]="{0}"; strncpy(arr2,arr1,3); //将arr1中的三个字符 拷贝给arr2 printf("%s",arr2);return 0; } 

strncpy的模拟实验

#include<stdio.h>
void my_strncpy(char* dest,const char* src,size_t num)
{size_t i=0;for(i=0;i<num&&*src!='\0';i++)//判断条件是src不为空的时候对其进行赋值 {*dest=*src;dest++;src++;}for(;i>num;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个字符

#include<stdio.h>
#include<string.h> 
int main()
{char arr1[]="abcdef";//初始化char arr2[20]="{0}"; my_strncpy(arr2,arr1,4); //将arr1中的三个字符 拷贝给arr2 printf("%s",arr2);return 0; } 

strncat的模拟实现

#include<stdio.h>
#include<assert.h>
#include<string.h>
void my_strcat(char *dest,const char* src,size_t num)
{assert(dest&&src);size_t i;while(*dest!='\0'){dest++;//是指针指到dest的尾指针 }for(i=0;i<num&&*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是最多比较字符的个数

#include<stdio.h>
#include<string.h>
int main()
{char arr1[]="abcdefg";char arr2[]="abcfr";int ret=strncmp(arr1,arr2,4);//将arr1和arr2的前四个字符进行比较 printf("%d",ret);return 0;} 

//说明arr1对应字符的大小比arr2小。

strncmp的模拟实现

#include<stdio.h>
#include<assert.h> 
int my_strncmp(const char* dest,const char*src,size_t num)
{assert(dest&&src);for(size_t i=0;i<num;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 ret=my_strncmp(arr1,arr2,4);//将arr1和arr2的前四个字符进行比较 printf("%d",ret);return 0;} 

http://www.ds6.com.cn/news/121270.html

相关文章:

  • 茂名seo顾问服务湖北短视频seo营销
  • 网站欣赏 公司网站案例电商网站平台有哪些
  • 北京网站建设 专业10年公司网站建设公司
  • 青岛做网站建设价格低百度站长工具怎么关闭教程视频
  • 有哪些教育网站做的比较好seo应该怎么做
  • 河南网站优化哪家好推广引流平台
  • 西安模板网站服务商seo搜索引擎优化到底是什么
  • 淘宝客程序wordpress百度seo快排软件
  • 网站建设华科技小吃培训去哪里学最好
  • 深圳商城网站设计多少钱网站制作教程视频
  • mvc做网站前台代码网站建设模板
  • 太原在线网站制作最快新闻资讯在哪看
  • 深圳网站制作价格一台电脑赚钱的门路
  • 单页 网站模板在线crm管理系统
  • 网站建设php市场调研报告怎么写
  • 佛山 建站公司windows优化大师是病毒吗
  • 深圳营销型网站建设电话品牌推广思路
  • 服务器做多个网站线上广告宣传方式有哪些
  • 马蜂窝网站建设广东清远今天疫情实时动态防控
  • 检察院网站建设方案醴陵网站制作
  • 装修风格有哪些网站seo优化排名
  • 苏州建设局官方网站销售方案
  • 在网站制作意见征集是怎么做的seo快速排名软件案例
  • 凡科建站代理登录入口百度关键词搜索热度
  • 大庆网站建设阿里域名注册官网
  • 徐州商城网站建设搜索引擎营销的特点是什么
  • 网站logo位置关键词优化骗局
  • 网站建设教育培训网页是怎么制作的
  • 信息平台网站的建设 文档手机百度账号登录入口
  • 电子商务网站建设作文网站运营和维护