| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1119 人关注过本帖
标题:新人报到,有以下一个程序,不知其如何运行,还望各位懂的人指点
只看楼主 加入收藏
和规则决裂
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-9-13
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:16 
新人报到,有以下一个程序,不知其如何运行,还望各位懂的人指点


题目要求是实现两个字符串的连接,但不能用现成的C语言连接函数实现,要自己编写fun,以下是我复制过来的(fun里面是答案,这是一道设计题)


#include <stdio.h>
void fun(char p1[], char p2[])
{
    int i,j;
  for(i=0;p1[i]!='\0';i++)  ;  //这句我懂,就是p1[i]若不遇到字符串结束符号就继续进行循环
      for(j=0;p2[j]!='\0';j++)//这句就是上面的for的一部分了(2013-9-15 10:27:55今天又意识到昨天想错了,原来这个是单独出来的,因为上一句有一个分号;)
          p1[i++]=p2[j];//但是到了这句,我就不明白到底是怎么回事了,p2[j]赋值给了p1[i]之后,那还怎么连接呢?
   p1[i]='\0';//然后到了这句,怎么理解?  这几句是我重新编辑的,因为还没理解。时间为2013-9-14 18:23:34。高手请帮忙解答,谢谢!

}

main()
{    char s1[80], s2[40] ;void NONO ();

     printf("Enter s1 and s2:\n") ;
     scanf("%s%s", s1, s2) ;
     printf("s1=%s\n", s1) ;
     printf("s2=%s\n", s2) ;
     printf("Invoke fun(s1,s2):\n") ;
     fun(s1, s2) ;
     printf("After invoking:\n") ;
     printf("%s\n", s1) ;
     NONO() ;
}

void NONO ()
{/* 本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
  int i ;
  FILE *rf, *wf ;
  char s1[80], s2[40] ;

  rf = fopen("in.dat","r") ;
  wf = fopen("out.dat","w") ;
  for(i = 0 ; i < 10 ; i++) {
    fscanf(rf, "%s", s1) ;
    fscanf(rf, "%s", s2) ;
    fun(s1, s2) ;
    fprintf(wf, "%s\n", s1) ;
  }
  fclose(rf) ;
  fclose(wf) ;
}


特别是fun函数里面,p1[i++]=p2[j];这不是替换之意吗?替换之后还怎么连接,不过我运行之后居然是对的   - -!所以想知道怎么回事

[ 本帖最后由 和规则决裂 于 2013-9-15 10:28 编辑 ]
搜索更多相关主题的帖子: C语言 字符串 include color 
2013-09-13 19:52
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
strcat_s 就行了

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-09-13 19:53
和规则决裂
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-9-13
收藏
得分:0 
回复 2楼 yuccn
题目要求说不允许用那个函数的,就是要自己编fun函数
2013-09-13 20:29
小小程序猿
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:1
帖 子:755
专家分:2785
注 册:2013-7-18
收藏
得分:0 
既然是你自己想的程序,为什么不能用,你还不知道???????????

孤独与寂寞是催化一个人迅速成长的良药,没有之一
2013-09-13 21:05
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:0 
看glibc的源代码,看看人家怎么实现

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2013-09-13 22:00
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:0 
回复 楼主 和规则决裂
注意并非双层循环

www.qunxingw.wang
2013-09-13 22:03
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 楼主 和规则决裂
为什么认为是替换?

总有那身价贱的人给作业贴回复完整的代码
2013-09-13 22:21
和规则决裂
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-9-13
收藏
得分:0 
回复 4楼 小小程序猿
不是我写的,我菜鸟,刚开始学,这是试题上面的一道。我看了不明其意,就复制过来了,fun函数是要自己编的,我复制的是答案。
2013-09-14 18:12
和规则决裂
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-9-13
收藏
得分:0 
回复 5楼 pauljames
这是什么?
2013-09-14 18:13
和规则决裂
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-9-13
收藏
得分:0 
回复 7楼 embed_xuel
有这个“=”,我理解就是说右边的替换了左边的,就是赋值之后,左边的那个变量成了右边的。难道还有不是替换的情况?高手速速解答疑惑啊
2013-09-14 18:16
快速回复:新人报到,有以下一个程序,不知其如何运行,还望各位懂的人指点
数据加载中...
 
   



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

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