strcpy为什么要返回值
strcpy为何要返回值?
char * strcpy( char *a_szDest, char *a_szSrc)
{
assert((a_szDest != NULL)&&(a_szSrc != NULL));
char *p = a_szDest;
while((*a_szDest++ = *a_szSrc++) != '\0')
return p;
}
strcpy函数的实参本身就是指向首地址的,函数内部都是复制的指针,无论怎么操作也不影响外面的指针,为什么strcpy函数要传递个首地址出去?
难道说会有特殊情况会改变首地址?传出去做校验?求指导
------解决方案--------------------
为了实现链式表达式
char * strcpy( char *a_szDest, char *a_szSrc)
{
assert((a_szDest != NULL)&&(a_szSrc != NULL));
char *p = a_szDest;
while((*a_szDest++ = *a_szSrc++) != '\0')
return p;
}
strcpy函数的实参本身就是指向首地址的,函数内部都是复制的指针,无论怎么操作也不影响外面的指针,为什么strcpy函数要传递个首地址出去?
难道说会有特殊情况会改变首地址?传出去做校验?求指导
------解决方案--------------------
为了实现链式表达式