C语言模仿库函数strcpy
strcpy()模仿
int main(){
char arr1[20] = "xxxxx";
char arr2[] = "hello"
my_strcpy(arr1,arr2); //1,目标地址 2,源地址
printf("打印arr1的结果是:%s",arr1);
//结果是:hello
return 0;
}
模仿代码如下:
void my_strcpy(char* dest,char* src){
//V1版本,实现copy功能
{
//字符数组有个隐藏元素‘\0’,为字符串终止符
while(*src != '\0'){
*dest = *src;
dest++;
src++;
}
//最后一步将‘\0’也复制过去
*dest = *src;
}
//V2
{
while(*src != '\0'){
//改为后置++,执行计算后指针自动向后移动一位
*dest++ = *src++;
}
*dest = *src;
}
//V3
{
//将赋值表达式放入条件
//赋值也会有返回值(返回值就是右值),不为0即是true
//最后为\0时,ascii码则为0,判断为false
while(*dest++ = *src++){
;
}
*dest = *src
}
//V4
#include <assert.h>
//在入参时,限制*src源数组为const
//这一步可以保护你在编写代码时,将两参数写反了的情况
//例如while里面变成(*src++ = *dest++)
//此时*src为const修饰,不可被修改,代码将无法运行成功,idea中也无法编译通过
void my_srtcpy(char* dest,const char* src)
{
//限制入参不可为空
assert((src != NULL) && (dest != NULL)); //断言,如果不符合条件即程序报错
while(*dest++ = *src++){
;
}
*dest = *src
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现