| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 470 人关注过本帖
标题:大家一起来
只看楼主 加入收藏
knight110
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-4-13
收藏
 问题点数:0 回复次数:5 
大家一起来

#include <stdio.h>
main()
{
int *pa,*pb,*pc,*pa_last,*pb_last;
int a[5]={2,3,4,5,6};
int b[5]={1,3,7,8,9};
int c[10];
pa=a;
pb=b;
pc=c;
pa_last=a+4;
pb_last=b+4;
while(pa<=pa_last&&pb<=pb_last)
{
if(*pa<=*pb)*pc++=*pa++;
else *pc++=*pb++;
}
while(pa<=pa_last)*pc++=*pa++;
while(pb<=pb_last)*pc++=*pb++;
for(pc=c;pc<=pa-11;pc++)
printf("%d",*pc);
}
为什么这里必须for(pc=c;pc<=pa-11;pc++)要ps-11才对,谁能告诉我指针pa,pb是怎么移动的吗?

搜索更多相关主题的帖子: include 
2006-05-02 08:03
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 
楼上的大哥,你要告诉我你这是什么程序啊,我看出来是合并数组了,如果看不出来怎么帮你啊

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-05-02 08:24
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 
for(pc=c;pc<=pa-11;pc++)
printf("%d",*pc);
}


错误,再想想,用pc,不需要用到pa

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-05-02 08:26
knight110
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-4-13
收藏
得分:0 
就是两个数组比较以后,再按从小到大的顺序排好!

2006-05-02 08:32
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 
for(pc=c;pc<=pa-11;pc++)
printf("%d",*pc);


改:
for (pc = pc - 10; pc < pc + 10; pc++)
{
printf("%d", *pc);
}

我记得好象是这样,你试试,我没试

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-05-02 08:34
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
以下是引用knight110在2006-5-2 8:03:00的发言:

#include <stdio.h>
main()
{
int *pa,*pb,*pc,*pa_last,*pb_last;
int a[5]={2,3,4,5,6};
int b[5]={1,3,7,8,9};
int c[10];
pa=a;
pb=b;
pc=c;
pa_last=a+4;
pb_last=b+4;
while(pa<=pa_last&&pb<=pb_last)
{
if(*pa<=*pb)*pc++=*pa++;
else *pc++=*pb++;
}
while(pa<=pa_last)*pc++=*pa++;
while(pb<=pb_last)*pc++=*pb++;
for(pc=c;pc<=pa-11;pc++)
printf("%d",*pc);
}
为什么这里必须for(pc=c;pc<=pa-11;pc++)要ps-11才对,谁能告诉我指针pa,pb是怎么移动的吗?

错啦 for(pc=c;pc<=pa-11;pc++)
应改为for(pc=c; pc<c+10; pc++)
但我估计您是个爱钻研的主,您实际想问的是:
为什么c[]的首地址反而比a[]低呢?是不是?
让我告诉您吧:因为a,b,c数组都是auto存储
属性,动用的都是“栈”空间。而栈的使用
规则就是从高地址往低地址方向发展……


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-05-02 09:45
快速回复:大家一起来
数据加载中...
 
   



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

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