一道面试题目
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啊![/Quote]
http://topic.csdn.net/u/20080309/14/9ce330d3-b77f-46a2-9896-37250abf10ad.html
他们设置了哪些标签:
CC++
谁收藏了这个网址:
时间:2008-3-10 9:09:09 | 相关网摘
时间:2008-3-10 11:16:17 | 相关网摘
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啊![/Quote]
时间:2008-3-11 21:41:36 | 相关网摘
版本多分配的64字节是在函数局部变量的前面,不是导致Debug
时间:2008-4-15 8:15:58 | 相关网摘
使用标签:CC++,时间:2008-4-15 9:00:25 | 相关网摘
void test1()
{
char string[10];
char* str1 = "0123456789";
strcpy( string, str1 );
}
时间:2008-4-15 10:20:30 | 相关网摘
时间:2008-4-15 15:47:13 | 相关网摘