| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1119 人关注过本帖
标题:新人报到,有以下一个程序,不知其如何运行,还望各位懂的人指点
只看楼主 加入收藏
jg658237
Rank: 7Rank: 7Rank: 7
来 自:青藏高原
等 级:黑侠
帖 子:224
专家分:529
注 册:2013-8-8
收藏
得分:0 
程序有问题  自己看

武功再高也怕菜刀.
2013-09-14 18:40
guhemeng
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:100
专家分:165
注 册:2013-7-27
收藏
得分:10 
凑个热闹

for(i=0;p1[i]!='\0';i++);  // 楼主注意: 后面跟了个分号,和下面的for循环没有逻辑关系, 只是指针移到字符串末尾,即当P1[i] == ’\0'时,循环结束。
      for(j=0;p2[j]!='\0';j++)      
          p1[i++]=p2[j];     //这个就是连接了,因为经过第一个for循环后,p1[i] 已经是p1这个字符串的结束符 '\0'(注:先赋值再i自加,所以把P1字符串的结束符\0覆盖了
                                //循环地逐个把P2的值加到P1后面。
   p1[i]='\0';    //    '\0'是字符串结束的标志。
2013-09-14 19:59
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 10楼 和规则决裂
你要注意赋值时的位置

总有那身价贱的人给作业贴回复完整的代码
2013-09-15 13:33
和规则决裂
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-9-13
收藏
得分:0 
回复 12楼 guhemeng
你这热闹凑得好啊!原来是这样子,最后还有一个结束终止符‘\0’.

我懂了!谢谢你的回答,十分都给你了!又懂了一个知识



注:你前天就回答了,我却一直不知道。因为我没看下一页(论坛文字有点小,我看它是故意为之,专门欺负我这种不戴眼镜的 ——!),所以直到今天结贴了才看到,真是不好意思啊!

[ 本帖最后由 和规则决裂 于 2013-9-16 23:13 编辑 ]
2013-09-16 23:10
songping_lin
Rank: 2
等 级:论坛游民
帖 子:10
专家分:25
注 册:2011-11-21
收藏
得分:0 
很简单,第一个for循环使p1指向指针末尾处,第二个循环将p2中每个元素一一加到p1后面。
注意:第一个for结束后i变量已经指到p1末尾,所以在第二个循环时可以将p2所有元素追加在p1后面,也就完成了p1与p2两个字符串的连接
2013-09-17 16:42
guhemeng
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:100
专家分:165
注 册:2013-7-27
收藏
得分:0 
回复 14楼 和规则决裂
  you are welcome~~~~~~~~~~~~~~~~~~~~
2013-09-17 18:02
点亮夜空
Rank: 2
等 级:论坛游民
帖 子:6
专家分:11
注 册:2013-7-25
收藏
得分:0 
void fun(char p1[], char p2[])
{//用单层循环就可以
     int i,j;
     i=strlen(p1);
     for(j=0;p2[j]!='\0';j++)
        p1[i++]=p2[j];//把第二个字符串放到第一个字符串末尾
   p1[i]='\0';//整个字符串的末尾加上'\0'

}
2013-09-17 21:28
快速回复:新人报到,有以下一个程序,不知其如何运行,还望各位懂的人指点
数据加载中...
 
   



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

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