求高手帮忙注释下下面程序,这两句是什么意思,不懂。strcpy(a+1,b+2); puts(strcat(a,c+1));希望详细点

求高手帮忙注释下下面程序,这两句是什么意思,不懂。strcpy(a+1,b+2); puts(strcat(a,c+1));希望详细点,第1张

strcpy(a+1,b+2);//把b数组的第3个元素开始到NULL出现为止的字符串复制给a数组第2个元素开始的内存空间

puts(strcat(a,c+1));//打印字符串,该字符串为a数组中的字符串和c数组第2个元素开始的字符串,

strcat()的意义为把c数组第2个元素开始的字符串添加到a数组的结尾。

1、strcpy 函数使用方法:

strcpy()函数是C语言中的一个复制字符串的库函数。

2、空指针检查:源指针和目的指针都有可能会出现空指针的情况,所以应该对其进行检查。

3、const 修饰:源字符串参数用const修饰,防止修改源字符串;

4、为什么要设置ret 指针以及返回ret指针的位置[3],由于目的指针dst已经在进行移动了,所以用辅助指针ret表明首指针;

扩展资料:

strcpy 函数的错误用法及反馈:

1、不检查指针的有效性,说明答题者不注重代码的健壮性。

2、(A)return new string("Invalid argument(s)");,说明答题者根本不知道返回值的用途,并且他对内存泄漏也没有警惕心。从函数中返回函数体内分配的内存是十分危险的做法,他把释放内存的义务抛给不知情的调用者,绝大多数情况下,调用者不会释放内存,这导致内存泄漏。

3、(B)return 0;,说明答题者没有掌握异常机制。调用者有可能忘记检查返回值,调用者还可能无法检查返回值(见后面的链式表达式)。妄想让返回值肩负返回正确值和异常值的双重功能,其结果往往是两种功能都失效。应该以抛出异常来代替返回值,这样可以减轻调用者的负担、使错误不会被忽略、增强程序的可维护性。

4、(A)忘记保存原始的strDest值,说明答题者逻辑思维不严密。

参考资料来源:百度百科 - strcpy

以上就是关于求高手帮忙注释下下面程序,这两句是什么意思,不懂。strcpy(a+1,b+2); puts(strcat(a,c+1));希望详细点全部的内容,包括:求高手帮忙注释下下面程序,这两句是什么意思,不懂。strcpy(a+1,b+2); puts(strcat(a,c+1));希望详细点、strcpy函数如何使用、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10173489.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存