| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 702 人关注过本帖
标题:关于指针的问题
取消只看楼主 加入收藏
yanjiyu
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-11-3
收藏
 问题点数:0 回复次数:7 
关于指针的问题

用指针做
从键盘上输入10个数字降序排列
#include<stdio.h>
main()
{
float a[10],*p;
int max_id,i,j,t;
p=a;
printf("输入10个数字\n");
for(p=a;p-a<10;p++)
scanf("%f",p);
for(i=0;i<9;i++)
{max_id=i;
for(j=i+1;j<10;j++)
if(*(p+max_id)>*(p+j))
max_id=j;

t=*(p+i);
*(p+i)=*(p+j) ;
*(p+j)=t;

}

for(p=a;p-a<10;p++)
printf("%12f",*p);}

请教大虾错在那?

搜索更多相关主题的帖子: 指针 
2006-11-28 16:47
yanjiyu
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-11-3
收藏
得分:0 
最后不是返回了吗?

for(p=a;p-a<10;p++)
printf("%12f",*p);}
2006-11-28 17:01
yanjiyu
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-11-3
收藏
得分:0 
for(p=a;p-a<10;p++)
scanf("%f",p);
是不是把这里该了?????改成
for(i=0;i<10;i++)
scanf("%f",p+i)
2006-11-28 17:07
yanjiyu
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-11-3
收藏
得分:0 

还是没解决。。。。

2006-11-28 17:08
yanjiyu
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-11-3
收藏
得分:0 

#include<stdio.h>
main()
{
float a[10],*p;
int max_id,i,j,t;
p=a;
printf("输入10个数字\n");
for(i=0;i<10;i++)
scanf("%f",p+i);
for(p=a,i=0;i<9;i++)
{max_id=i;
for(j=i+1;j<10;j++)
if(*(p+max_id)>*(p+j))
max_id=j;

t=*(p+i);
*(p+i)=*(p+j) ;
*(p+j)=t;

}


for(p=a;p-a<10;p++)
printf("%12f",*p);
}
还是出错晕了

2006-11-28 17:51
yanjiyu
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-11-3
收藏
得分:0 
谢谢楼上解决了谢谢各位大虾!!!
因为现在学指针老师要求必须用指针作!!!
现在不是很明白指针到底干什么用???怎么就是替代变量的阿????
2006-11-28 21:06
yanjiyu
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-11-3
收藏
得分:0 
t=*(p+i);///////////
*(p+i)=*(p+max_id);//////////
*(p+max_id)=t;/////////
}
请问大虾!!!
t=*(p+i);///////////
*(p+i)=*(p+j);//////////
*(p+j)=t;/////////
}
这样为什么就出错。。。。。
2006-11-28 21:25
yanjiyu
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-11-3
收藏
得分:0 

谢谢楼上的的不过运行的时候出错!!!!

2006-11-28 22:14
快速回复:关于指针的问题
数据加载中...
 
   



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

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