将字符串s复制到字符串t解决思路
将字符串s复制到字符串t
string t,s;
求出t串的长度-> m;
求出s串的长度-> n;
if (m> n)
{ 复制s串内容到t串;
返回t所指字符指针;
}
else
申请m+1个字符的空间;
if( 申请成功)
{撤消原来t串所占用的空间;
令t指向指针分配的空间;
复制s串内容到t串;
返回t所指字符指针;
}
else
返回空指针;
要求C语言编程。 谢谢大家帮助!
------解决方案--------------------
char *fun(char *t,char *s)
{
char *p;
int m = strlen(t),n = strlen(s);
if (m> n)
{
strcpy(t,s);
return t;
}
else
{
p = (char *)malloc((m+1)*sizeof(char));
if (p != NULL)
{
free(t);
t = p;
strcpy(t,s);
return t;
}
else
{
return NULL;
}
}
}
string t,s;
求出t串的长度-> m;
求出s串的长度-> n;
if (m> n)
{ 复制s串内容到t串;
返回t所指字符指针;
}
else
申请m+1个字符的空间;
if( 申请成功)
{撤消原来t串所占用的空间;
令t指向指针分配的空间;
复制s串内容到t串;
返回t所指字符指针;
}
else
返回空指针;
要求C语言编程。 谢谢大家帮助!
------解决方案--------------------
char *fun(char *t,char *s)
{
char *p;
int m = strlen(t),n = strlen(s);
if (m> n)
{
strcpy(t,s);
return t;
}
else
{
p = (char *)malloc((m+1)*sizeof(char));
if (p != NULL)
{
free(t);
t = p;
strcpy(t,s);
return t;
}
else
{
return NULL;
}
}
}