【发布时间】:2013-12-26 19:33:48
【问题描述】:
我必须用 7 行代码编写 strcpy() 和 strcat() 并处理可能出现的任何异常。到目前为止,这是我的代码。有人对我如何减少行数有任何建议吗?
char *mystrcpy(char *dst, const char *src)
{
char *ptr;
ptr = dst;
while(*dst++=*src++);
return(ptr);
}
void strcat(char *dest, const char *src)
{
while (*dest!= '\0')
*dest++ ;
do
{
*dest++ = *src++;
}
while (src != '\0') ;
}
【问题讨论】:
-
如果你愿意,可以写在一行上……
-
如果它似乎工作,那么这应该去 codereview.stackexchange.com。那么,代码有效吗?如果不是,请问您遇到什么问题?
-
@alk 你一定没看过。它有一些严重的问题。
-
你真的在一些测试用例上试过这个吗?在做空之前,我会专注于把它做好。
-
@user3082112 在编写自己的实现之前,您需要先了解这一点:
dst和src可以重叠吗?