当前位置:首页 » 《随便一记》 » 正文

【手把手带你刷好题】——22.面试题:模拟实现strcpy库函数(非力扣)_安然无虞的博客

9 人参与  2022年05月17日 09:10  分类 : 《随便一记》  评论

点击全文阅读


【前言】

今天是刷题打卡第22天!

这是一道很好的题目哦,里面有一些很好的coding技巧,要留心看哦。

原题:模拟实现strcpy库函数

OK,废话不多说,直接上代码...

初级代码:

满分10分---得5分

#include<stdio.h>

void my_strcpy(char* dest, char* src)
{
	while (*src != '\0')
	{
		*dest = *src;
		dest++;
		src++;
	}
	*dest = *src;//处理src后面的'\0'
}

int main()
{
	char arr1[10] = { 0 };//注意哦,arr1要足够大
	char arr2[] = "hello";
	my_strcpy(arr1, arr2);
	printf("%s\n", arr1);//返回arr1的起始地址
	return 0;
}

【敲黑板】:对于字符串拷贝函数,要注意的是是字符串2拷贝给字符串1的,包括字符串2后面的‘\0’ 也会一同拷贝过去,并且要保证 字符串1是足够大的!

优化代码: 

满分10分---得9分

#include<stdio.h>
#include<assert.h>

void my_strcpy(char* dest, char* src)
{
	assert(dest != NULL);//断言---加上断言,防止传过来的指针为空引发错误(老司机才会这样写)
	assert(src != NULL);//注意哦,要培养自己加上断言的好习惯
	while (*dest++ = *src++)//当src指向的对象是'\0'时表达式的结果为0,整个表达式的结果为假,跳出循环--很妙
	{
		;
	}
}

int main()
{
	char arr1[10] = { 0 };//注意哦,arr1要足够大
	char arr2[] = "hello";
	my_strcpy(arr1, arr2);
	printf("%s\n", arr1);//返回arr1的起始地址
	return 0;
}

在写最优代码之前,先看看库函数strcpy原型:

 

 

函数有返回类型,而且在第二个形参中加入了const 修饰,目的是防止字符串strSource被改变 

最优代码:

满分10分---得10分

#include<stdio.h>
#include<assert.h>

char* my_strcpy(char* dest, const char* src)//注意哦,要习惯加上const修饰
{
	assert(dest && src);//断言dest和src都不为空
	char* ret = dest;//保存dest首地址
	while (*dest++ = *src++)
	{
		;
	}
	return ret;
}
int main()
{
	char arr1[10] = { 0 };//注意哦,arr1要足够大
	char arr2[] = "hello";
	printf("%s\n", my_strcpy(arr1, arr2));
	return 0;
}

结语

今天是刷题打卡第22天!

再接再厉啦,明儿见!

 


点击全文阅读


本文链接:http://zhangshiyu.com/post/40273.html

字符串  断言  代码  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 重生在高考前,我笑着送竹马和小太妹去庆祝成人礼(方子期孟知婉)_重生在高考前,我笑着送竹马和小太妹去庆祝成人礼(方子期孟知婉)
  • 知道自己是替身后,我选择自毁了独家首发_林昕巴掌宝藏文_小说后续在线阅读_无删减免费完结_
  • 我的娘子是大凶之物张一恒张一恒小说无删减阅读清爽版(张一恒)外篇+续集
  • 夫君停妻另娶挚友遗孀后,我杀疯了高分神作_贺朝小柔灵堂免费赏析_小说后续在线阅读_无删减免费完结_
  • 林冉顾承渊小说(许你万里晴空)+前传(林冉顾承渊)阅读
  • 京婚娇宠:是小尼姑也是嫡公主续集(姜以安周瑾臣)全本完整免费版_起点章节+后续(京婚娇宠:是小尼姑也是嫡公主)
  • 阮娇娇后续(纵她!禁欲小叔失控诱吻娇娇)(阮娇娇)整本畅享在线+无广告结局
  • 完结文流光错系断蓬之舟番外+完结列表_完结文流光错系断蓬之舟番外+完结(沈煜谢晚烟)
  • 重生1980:开局迎娶姐姐闺蜜小说(李毅唐雪)小说结尾+隐藏篇章(重生1980:开局迎娶姐姐闺蜜)畅享阅读
  • 全文一笑长明唯记相约前文+后续(江月肖楚宁)列表_全文一笑长明唯记相约前文+后续
  • 全文高考查分后,哥哥在我身上订满两百颗钉续集(沈眠月沈砚秋沈清欢)列表_全文高考查分后,哥哥在我身上订满两百颗钉续集
  • 西风暮雪埋初心人气节选许梨疏霍子枭完本_西风暮雪埋初心人气节选(许梨疏霍子枭)

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1