| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2431 人关注过本帖
标题:[求助]写一个函数连接2个字符串(这个也有问题了)
只看楼主 加入收藏
boot2046
Rank: 2
等 级:新手上路
威 望:3
帖 子:168
专家分:0
注 册:2007-7-23
收藏
得分:0 
你这个就是动态的,所谓的动态就是调用malloc系列函数来获得的内存,不够还可以扩展

所谓的静态就像调用数组这样固定了的

Linux是简单的,你不需要成为天才也能理解这种简单,Windows是复杂的,就算你是天才也不能理解这种复杂
2007-08-07 17:52
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
收藏
得分:0 

int n;
scanf("%d",&n);
char *str=(char *)malloc(n*sizeof(char));
你的动态分配是这个意思???


要练习算法就来http:///!!有挑战哦!!
2007-08-07 17:54
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
收藏
得分:0 
空间不够还可以remalloc阿!!!

要练习算法就来http:///!!有挑战哦!!
2007-08-07 17:56
young
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:223
专家分:160
注 册:2004-9-5
收藏
得分:0 

就是strcat函数吧,我这儿也有这样的一些函数,大家给看看

/****************************************************************************/
/* strlen */
/****************************************************************************/
size_t strlen(const char *s)
{ const char *r = s - 1;

while (*++r);
return r - s;
}

/****************************************************************************/
/* strcpy */
/****************************************************************************/
char *strcpy(char *s1, const char *s2)
{ char *result = s1;

while (*s1++ = *s2++);
return result;
}

/****************************************************************************/
/* strncpy */
/****************************************************************************/
char *strncpy(char *s1, const char *s2, size_t n)
{ char *result = s1;

if (n == 0) return result;
while ((*s1++ = *s2++) && --n != 0);
if (n > 1)
{
--n;
do *s1++ = 0; while (--n);
}
return result;
}

/****************************************************************************/
/* strcat */
/****************************************************************************/
char *strcat(char *s1, const char *s2)
{ char *result = s1;

while (*s1++);
--s1;
while (*s1++ = *s2++);
return result;
}

/****************************************************************************/
/* strncat */
/****************************************************************************/
char *strncat(char *s1, const char *s2, size_t n)
{ char *result = s1;

while (*s1++);
--s1;
while (n-- != 0)
if (!(*s1++ = *s2++)) return result;
*s1 = 0;
return result;
}

/****************************************************************************/
/* strchr */
/****************************************************************************/
char *strchr(const char *s, int c)
{ do
if (*s == c) return (char *)s;
while (*s++);
return NULL;
}

/****************************************************************************/
/* strrchr */
/****************************************************************************/
char *strrchr(const char *s, int c)
{ char *result = NULL;
do
if (*s == c) result = (char *)s;
while (*s++);
return(result);
}

/****************************************************************************/
/* memchr */
/****************************************************************************/
void *memchr(const void *s, int c, size_t n)
{ const unsigned char *st = (unsigned char *)s;
unsigned char ch = c;

while (n-- != 0)
if (*st++ == ch) { return (void *)--st; }
return NULL;
}

/****************************************************************************/
/* memset */
/****************************************************************************/
void *memset(void *s, int c, size_t n)
{ unsigned char *st = (unsigned char *)s;
unsigned char ch = c;

while (n-- > 0) *st++ = ch;
return s;
}


如果你爱C语言,请你爱指针; 如果你爱指针,请你爱指针的指针;
2007-08-07 20:31
快速回复:[求助]写一个函数连接2个字符串(这个也有问题了)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018614 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved