标准程序是:
char *strcpy(char *strDest,const char *strSrc)
{
assert((strDest!=NULL)&&(strSrc !=NULL))
char *address = strDest;
while((*strDest++ = *strSrc)!='/0')
NULL;
return address;
}
优点是:
1...2...3...4...
//将源字符串加const,表明其为输入参数,加2分
//对源地址和目的地址加非0断言,加3分
//为了实现链式操作,将目的地址返回,加3分
char buf[128];
char *func1()
{
return strcpy(buf, "123");
}
char *func2()
{
strcpy(buf, "123");
return buf;
}
func2 效率低于func1.
所以返回是应该的.
另外, strlen没有包括字符串末尾的'/0'
其它C面试题更有看头...
另外, 文章分类为啥可以多选? 不好......