辞职了,想找份好工作,公司的应试题目有一道
char *strcpy(char *strDest,const char *strSrc);
这个题目很常见,或许以前还不太在乎,可开发几年了,总觉得这个函数有问题,如果再多加个参数就觉得完美了,可现在只有两个参数,怎么也摆脱不了数组越界的可能,是有点郁闷!
你们有什么办法?
char *strcpy(char *strDest,const char *strSrc);
这个题目很常见,或许以前还不太在乎,可开发几年了,总觉得这个函数有问题,如果再多加个参数就觉得完美了,可现在只有两个参数,怎么也摆脱不了数组越界的可能,是有点郁闷!
你们有什么办法?
char *strcpy(char *strDest,const char *strSrc)
{
if(strDest==NULL||strSrc==NULL)
return NULL;
char *p=strSrc;
while(*strSrc)*(strDest++)=*(p++);
}
可仔细看看,问题太多了,很容易出现内存问题。
在vc中解决的方法就是获得数组越界异常,可怎么也得不到。