| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY买空间,免费送域名(厦门中资源)
共有 107 人关注过本帖
标题:菜鸟虚心请教。。谢谢帮助!
收藏  订阅  推荐  打印 
oldboy22
Rank: 1
等级:新手上路
帖子:27
积分:390
注册:2008-5-19
菜鸟虚心请教。。谢谢帮助!

下面的程序功能是将已按升序排好的字符串a和b中的字符按升序归并到字符串c中。

# include <stdio.h>
mian()
{
   char a[]="acegikm";
   char b[]="bdfhjlnpq";
   char c[80],*p;            ----->这里定义一个指针
   int i=0,j=0,k=0;
   while (a[i]!='\0'&&b[j]!='\0')
     {
        if(a[i]<b[j]) {c[k]=a[i];i++;}
        else {c[k]=b[j];j++}
        k++;
      }
    c[k]='\0';
    if(a[i]=='\0') p=b+j; -------->这里开始就不明白了。。
    else  p=a+i;
    strcat(c,p);
    puts(c);
}


我的问题是,到c[k]='\0'不是已经把 两个字符串归并到一起了么? 剩下的不分是什么作用??
搜索更多相关主题的帖子: 虚心  
2008-9-15 10:55
QQ0001000
Rank: 3Rank: 3
等级:中级会员
帖子:225
积分:2426
注册:2007-3-29

到c[k]='\0'不是已经把 两个字符串归并到一起了么?
这个还没有完成呢.如果a,b是两个大小不同的数组,那下面的意思是,如果a到最后了,则直接将b后面的元素直接合并到C的后面,如果B到头了,将B直接合并到C的后面

2008-9-15 11:41
oldboy22
Rank: 1
等级:新手上路
帖子:27
积分:390
注册:2008-5-19

啊,明白了..谢谢!!!^^

让魔鬼来得更猛烈些吧。。。
2008-9-15 15:01
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.050910 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved