| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 405 人关注过本帖
标题:串连接问题
只看楼主 加入收藏
小小小丹丹
Rank: 2
等 级:论坛游民
帖 子:26
专家分:13
注 册:2010-4-6
结帖率:62.5%
收藏
已结贴  问题点数:16 回复次数:3 
串连接问题
status Concat(HString *pT ,HString *pS1,HString *pS2){      //将串s1和s2和为一个串T
  int i;                                             //循环三控制变量定义      
  char *p,*q,*r;                                  //字符指针变量定义
  if(pT->ch)  free(pT->ch);                              //将T串原有的数据释放
  if(!(pT->ch=(char *)malloc((pS1->length+pS2->length)*sizeof(char))))//为T重新分配一个长度等于s1和s2长度之和的新空间
    exit(OVERFLOW);                                             //分配失败
     p=pT->ch;
  q=pS1->ch;
  r=pS2->ch;
  for(i=0;i<pS1->length;i++)                                      //先将s1的字符全赋到T中
    p=q;
  for(i=0;i<pS2->length;i++)                                      //将s2的字符也赋进去
    p[pS1->length+i]=r;
  pT->length=pS1->length+pS2->length;                                 //修改T串长度        
  return (pT);
}
这段语句什么地方错了啊帮下忙啊
2010-05-24 19:02
zhuxu0423
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:59
专家分:101
注 册:2010-4-12
收藏
得分:0 
看着脑袋就疼
2010-05-25 08:55
小伊
Rank: 2
等 级:论坛游民
帖 子:27
专家分:33
注 册:2010-4-17
收藏
得分:3 
看着怎么就那么别扭呢
2010-05-25 10:25
LUNNAN
Rank: 2
等 级:论坛游民
帖 子:30
专家分:44
注 册:2010-5-23
收藏
得分:13 
for(i=0;i<pS1->length;i++)                                      //先将s1的字符全赋到T中
    p[i]=q[i];
  for(i=0;i<pS2->length;i++)                                      //将s2的字符也赋进去
    p[pS1->length+i]=r[i];
  pT->length=pS1->length+pS2->length;                                 //修改T串长度        
  return (pT);

你又想用指针直接复制,又想用循环复制,楼主想法多了!
2010-05-25 10:50
快速回复:串连接问题
数据加载中...
 
   



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

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