金山面试题:不用可函数实现字符串的拷贝,请写出完整的代码
string str1,str2; 请将str2 内容拷贝到str1里,不调用库函数实现
string str1,str2; 请将str2 内容拷贝到str1里,不调用库函数实现
方案一:
方案二:
char* MyStrCpy(char* pDest , char* pSource)
{
if(pSource)
{
int strlength = strlen(pSource);
pDest = (char*)malloc(sizeof(char)*strlength);
char* pTemp= pSource;
char* pTempDest = pDest;
while((*pTemp)!='\0')
{
*pTempDest = *pTemp;
pTempDest++;
pTemp++;
}
*pTempDest = '\0';
}
return pDest;
}
{
if(pSource)
{
int strlength = strlen(pSource);
pDest = (char*)malloc(sizeof(char)*strlength);
char* pTemp= pSource;
char* pTempDest = pDest;
while((*pTemp)!='\0')
{
*pTempDest = *pTemp;
pTempDest++;
pTemp++;
}
*pTempDest = '\0';
}
return pDest;
}
判断一个32位整型数是否是2的n次幂
解决办法:
#define ZERO 0
bool is2n(unsigned int iValue)
{
if( ZERO == iValue)
return false;
else
return (ZERO == ((iValue) & (iValue - 1))) ;
}
bool is2n(unsigned int iValue)
{
if( ZERO == iValue)
return false;
else
return (ZERO == ((iValue) & (iValue - 1))) ;
}
转载于:https://blog.51cto.com/visionsky/153296