端午节回家的时候在车上看了一篇关于面试题的复印题目,
说实话我挺关注面试题的,每一次看到面试题就能体会到自己到得还差的很多。
请写一个strcpy函数,使用尽可能少的代码:
我使用4个答案分别回答:
1
void strcpy (char *strDest, char *strSrc) {
while ((*strDest++ = *strSrc++) != '\0');
}
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">/*传进来的可能为NULL*/</span>
2
void strcpy (char *strDest, char *strSrc) {
assert (strDest && strSrc);
while ((*strDest++ = *strSrc++) != '\0');
}
/*可能会改变strSrc的值*/
3
void strcpy (char *strDest, const char *strSrc) {
assert (strDest && strSrc);
while ((*strDest++ = *strSrc++) != '\0');
}
/*不能实现链式操作*/
4
char *strcpy (char *strDest, const char *strSrc) {
assert (strDest && strSrc);
char *address = strDest;
while ((*strDest++ = *strSrc++) != '\0');
return address;
}
/*完美*/
当然最后一个答案为满分答案