| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 392 人关注过本帖
标题:反序输出数据
只看楼主 加入收藏
xdyuan33
Rank: 3Rank: 3
来 自:广西大学化工学院
等 级:论坛游侠
帖 子:146
专家分:145
注 册:2009-7-24
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
反序输出数据
下面是我写的后看了课本的代码发现了点不同(下面表注有)。我自己在草稿纸上画了个
示意图发现课本上的好像有点道理。比如我输入 1 2 3 4 5 6 如果用I〈=P,那么P=X+2就指向3,
但要是用I〈 P,P=X+2还是指向3,这时I〈P=X+2也就是说 I 最多可以指到就指向X+1,就是指到2,明显后面的数3和4就排不了的。可是我不管用哪一种输入奇数和偶数都可以排得出。这是怎么回事呢??补充下,我数学不太好。。。
void reverse(int *x,int n)
{
  int *p,*i,*j,m=(n-1)/2,t;
  i=x;j=x+n-1;p=x+m;
  for(;i<p;i++,j--)   /* 课本上的是I〈=P */
    {t=*i;*i=*j;*j=t;}
}
main()
{
  int a[10],*p=a;
  printf("\n");
  for(;p<a+10;p++)
    scanf("%d",p);
  printf("\n");
  p=a;
  reverse(p,10);
  for(;p<a+10;p++)
    printf("%d ",*p);
}
搜索更多相关主题的帖子: 反序 
2009-08-27 08:51
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:20 
int *p,*i,*j,m=(n-1)/2,t; /*注意看m的值,如n=10,则m=4*/
  i=x;j=x+n-1;p=x+m;    /*再看这里i=x和p=x+m,这里最重要了。如果指针会把你搞混,那我们先假设:x i p都看成整型变量,这时假如x=0,则i也等0,p=x+m,p等4,如假把i看作0,p就看成4*/
  for(;i<=p;i++,j--)   /*按上面的值放到循环里看循环的次数,0<4,循环4次,0<=4,循环5次。假如对1到9的数用i<p,循环4次,结果:9 8 7 6 5 4 3 2 1,这是对的,如对1到10的数用i<p,就是循环4次,结果是,10 9 8 7 5 6 4 3 2 1,5和6没换到,差一次循环,所以用i<=p才正确。*/

努力—前进—变老—退休—入土
2009-08-27 14:52
xdyuan33
Rank: 3Rank: 3
来 自:广西大学化工学院
等 级:论坛游侠
帖 子:146
专家分:145
注 册:2009-7-24
收藏
得分:0 
嗯想是想明白了不过我刚开始用I〈P时 我试了奇数项偶数项都可以也能输出正确的结果啊,问题就在这里了。
又或者我人口太好了??还是我的TC智能提高了??

参与切磋是美德,每天回帖即可获得10分可用分!
2009-08-27 15:22
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:0 
<P>哦,那应该是你人品太好,感动了你的电脑。</P>

努力—前进—变老—退休—入土
2009-08-27 16:38
xdyuan33
Rank: 3Rank: 3
来 自:广西大学化工学院
等 级:论坛游侠
帖 子:146
专家分:145
注 册:2009-7-24
收藏
得分:0 
以下是引用UserYuH在2009-8-27 14:52的发言: int *p,*i,*j,m=(n-1)/2,t; /*注意看m的值,如n=10,则m=4*/ i=x;j=x+n-1;p=x+m; /*再看这里i=x和p=x+m,这里最重要了。如果指针会把你搞混,那我们先假设:x i p都看成整型变量,这时假如x=0,则i也等0,p=x+m ...


谢谢了..^_^

参与切磋是美德,每天回帖即可获得10分可用分!
2009-08-27 17:35
快速回复:反序输出数据
数据加载中...
 
   



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

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