strcpy函数 .

来源:互联网 发布:手机怎么进淘宝试衣间 编辑:程序博客网 时间:2024/05/01 16:25

 http://blog.csdn.net/chenlm871224/article/details/4361754

记得当时那个考官面试的时候很客气,我们两个就像聊天似的,虽然结果是我没被录取,但是那个经历确实觉得挺舒服的。当时他问我在计算机方面有什么特长。我的回答是“我对算法尤为感兴趣,喜欢对算法进行研究,而且我写程序的方式比较好,就是我写的程序其他人比较容易看得懂”。然后他就叫我写一个strcpy函数,我当时确实是没什么准备,写了几行就给他看了,写了什么也记得不大清楚了。不过现在想想当时写的“东西”多丑陋啊,10分的话,我还得不了2分,呵呵。。。今天看到类似的题目和解答,发上来大家分享分享。

    2分

void strcpy( char *strDest, char *strSrc )
{
  while( (*strDest++ = * strSrc++) != ‘/0’ );
}
  4分

void strcpy( char *strDest, const char *strSrc )
//将源字符串加const,表明其为输入参数,加2分
{
  while( (*strDest++ = * strSrc++) != ‘/0’ );
}
  7分

void strcpy(char *strDest, const char *strSrc)
{
 //对源地址和目的地址加非0断言,加3分
 assert( (strDest != NULL) && (strSrc != NULL) );
 while( (*strDest++ = * strSrc++) != ‘/0’ );
}
  10分

//为了实现链式操作,将目的地址返回,加3分!

char * strcpy( char *strDest, const char *strSrc )
{
 assert( (strDest != NULL) && (strSrc != NULL) );
 char *address = strDest;
 while( (*strDest++ = * strSrc++) != ‘/0’ );
  return address;
}
  从2分到10分的几个答案我们可以清楚的看到,小小的strcpy竟然暗藏着这么多玄机,真不是盖的!需要多么扎实的基本功才能写一个完美的strcpy啊!
 
可不能小看这些函数啊,多复杂啊,嗨,要学的东西太多了

 

原创粉丝点击