| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 360 人关注过本帖
标题:关于指针的问题
只看楼主 加入收藏
c盘格式化
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-4-3
收藏
 问题点数:0 回复次数:3 
关于指针的问题
10个数用指针按逆序排序,请帮我看看我的答案哪出错了
#include<iostream.h>
#define N 10
void turn(int *p,int n)
{int *q,t;
q=p+n-1;
while(p<p+n/2)
{
t=*q;*q=*p;*p=t;
p++;
q--;
}
int main()
{
int a[N],i;
for(i=0;i<N;i++)
cin>>a[i];
turn(a,N);
for(i=0;i<N;i++)
cout<<a[i];
return 0;
}
搜索更多相关主题的帖子: include return 
2007-05-07 17:58
zhaoyg
Rank: 1
等 级:新手上路
帖 子:328
专家分:0
注 册:2006-8-28
收藏
得分:0 
首先,p&lt;p+n/2 这样写会造成死循环,因为执行p++后会使p&lt;p+n/2恒成立

麻雀飞上枝头变凤凰,而菜鸟的我飞上枝头却感冒了,为什么我的脑袋如此的不管用呢。
2007-05-07 18:30
c盘格式化
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-4-3
收藏
得分:0 
我再试试
2007-05-07 18:44
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 
这个我想了下。
既然p指向了数组的首地址,q指向了数组的最后一个。
那么循环可以这样
while(p<q)
{
t=*q;
*q=*p;
*p=t;
p++;
q--;
}
我想这样就可以实现了。

~~我的明天我知道~~
2007-05-07 20:46
快速回复:关于指针的问题
数据加载中...
 
   



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

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