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

购物网站建设思维导构图郑州seo培训

购物网站建设思维导构图,郑州seo培训,网站建设工作室怎么开,安徽方圆建设有限公司网站目录 1. 函数声明及功能 2. 使用示例 3. 注意事项 4. 模拟实现 4.1 第一版:基本功能判空const修饰 4.2 第二版:优化对于\0的单独拷贝 4.3 第三版:仿strcpy的char*返回值 1. 函数声明及功能 char * strcpy ( char * destination, cons…

目录

1. 函数声明及功能

2. 使用示例

3. 注意事项

4. 模拟实现

4.1 第一版:基本功能+判空+const修饰

4.2 第二版:优化对于'\0'的单独拷贝

4.3 第三版:仿strcpy的char*返回值


1. 函数声明及功能

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

 strcpy功能:字符串拷贝

2. 使用示例

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int main() {char arr1[] = "hello world";char arr2[15] = {0};strcpy(arr2, arr1);printf("%s\n", arr2);return 0;
}

3. 注意事项

1、拷贝源字符串时,以'\0'作为拷贝结束标志,且将'\0'也拷贝到目标空间,可通过将目标空间初始化为非0字符来验证:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int main() {char arr1[] = "hello world";char arr2[15] = "xxxxxxxxxxxxxxx";strcpy(arr2, arr1);printf("%s\n", arr2);return 0;
}

调试监视arr数组各元素 :

2、目标空间必须足够大以接收源字符串,否则程序会报错

3、目标空间内容必须可修改(常量字符串、const修饰的变量等均不可作为目标空间):

4. 模拟实现

4.1 第一版:基本功能+判空+const修饰

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<assert.h>
void my_strcpy1(char* dest, const char* src) {assert(src != NULL);assert(dest != NULL);// 拷贝'\0'之前的内容while (*src != '\0') {*dest = *src;src++;dest++;}// 拷贝'\0'*dest = *src;
}
int main() {char arr1[] = "hello world";char arr2[15] = { 0 };my_strcpy1(arr2, arr1);printf("%s\n", arr2);return 0;
}

4.2 第二版:优化对于'\0'的单独拷贝

#include<assert.h>
void my_strcpy2(char* dest, const char* src) {assert(src != NULL);assert(dest != NULL);while (*dest++ = *src++) {;}
}
int main() {char arr1[] = "hello world";char arr2[15] = { 0 };my_strcpy2(arr2, arr1);printf("%s\n", arr2);return 0;
}

注:虽然++的优先级高于*,但由于为后置++,故*dest++实际上是对dest解引用后再++;

 将*dest++ = *src++ 置于while判断条件中,由于判断条件需先执行后判断,

while (*dest++ = *src++) 写法既完成了\0的拷贝,也使得条件为假跳出循环;

4.3 第三版:仿strcpy的char*返回值

查strcpy文档,关于其参数及返回值介绍如下:

返回类型为char*,返回值为destination,即目标空间的起始地址;

cplusplus.com网址如下:

strcpy - C++ Referenceicon-default.png?t=O83Ahttps://legacy.cplusplus.com/reference/cstring/strcpy/?kw=strcpy现修改代码如下:

#include<stdio.h>
#include<assert.h>
char* my_strcpy3(char* dest, const char* src) {assert(src != NULL);assert(dest != NULL);char* ret = dest;while (*dest++ = *src++) {;}return ret;
}
int main() {char arr1[] = "hello world";char arr2[15] = { 0 };my_strcpy3(arr2, arr1);printf("%s\n", arr2);return 0;
}

http://www.hkea.cn/news/64173/

相关文章:

  • 网站建设与维护试卷论文怎么在百度上做广告
  • 做博客网站要什么技术百度网站网址是多少
  • 河北建设厅官方网站八大员考试站长工具查询
  • 大连 做网站公司爱站工具包的主要功能
  • ps做简洁大气网站必应bing国内版
  • 做公司标志用哪个网站营销自动化
  • wordpress5.0.3厦门百度seo
  • 网站开发 企业 定制系统优化大师安卓版
  • 网站内链符号seo百度站长工具
  • 网站页面太多是否做静态seo优化软件
  • mac下怎么安装wordpress关键词排名优化易下拉霸屏
  • 国内做国外代购在哪个网站好百度平台客服怎么联系
  • 菏泽网站获客网站建设公司中国站长网入口
  • 黄冈网站建设推荐seo查询排名软件
  • 自己怎么做百度网站广州seo网站公司
  • 京东企业的电子网站建设百度seo教程网
  • 弥勒网站设计公司share群组链接分享
  • 网站建设栏目管理百度推广搜索排名
  • 企业管理类的网站全球搜是什么公司
  • 网站开发自我介绍seo报告
  • 网站应用软件设计海口seo网络公司
  • 武汉站建设深圳网站开发制作
  • 网站建设的平台分析北京seo技术
  • 手表价格网站百度推广天津总代理
  • 如何将域名和网站绑定排名seo怎么样
  • 旅游网站推广方案色盲测试图
  • 现在开发个网站多少钱安全优化大师
  • 网站开发工程师工资多少百度统计工具
  • 征信报告优化大师好用吗
  • 一个ip地址做多个网站网络营销公司是做什么的