| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2424 人关注过本帖
标题:指针和数组?
只看楼主 加入收藏
瘦不了噜er
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:30
专家分:135
注 册:2016-6-14
结帖率:91.67%
收藏
已结贴  问题点数:8 回复次数:12 
指针和数组?
题目是:在主函数中任意输入 10 个数存入一个数组,然后按照从小到大的顺序输出这 10 个数, 要求数组中元素按照输入时的顺序不能改变位置。


如果用指针做形参指向这个数组,排序的时候这个数组的顺序还是会改变的吧..不是相当于通过指针改变了数组的值吗

这里的逻辑一直没搞懂...应该是什么啊
搜索更多相关主题的帖子: 元素 
2016-06-18 20:27
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
改变指针的指针吧?
2016-06-18 21:17
随风飘荡
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:208
专家分:598
注 册:2011-9-9
收藏
得分:1 
每次挑最小的输出
2016-06-18 21:51
hykj9495
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:796
专家分:1441
注 册:2016-6-6
收藏
得分:1 
int*p=&i;//不改变变量内容,只是存取变量地址
p=4;//改变变量的值
排序的时候这个数组的顺序还是会改变的吧..不是相当于通过指针改变了数组的值吗//改变数组的地址

顺序不能改变位置。//存放空间不变,原数组放在A空间,排序后的数组存放空间就是A空间?
用多级指针吧,(指针的指针)


慢慢调试
2016-06-18 22:01
hykj9495
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:796
专家分:1441
注 册:2016-6-6
收藏
得分:0 
或者说不允许对原数组进行操作,而是定义一个变量一个一个地把数组的元素读出来然后进行排序?

慢慢调试
2016-06-18 22:06
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:1 
用指针数组,对指针数组指向进行排列,然后输出。这样原数组的排列就不会改变了。
#include<stdio.h>
int main()
{
    void mov(int *b[]);
    int a[10]={2,5,8,7,9,6,4,1,3,0};
    int *b[10]={NULL};
    int i;
    for(i=0;i<10;i++)
    {
        b[i]=&a[i];
    }
    mov(b);
        for(i=0;i<10;i++)
    {
        printf("%d\t",a[i]);
    }
    printf("\n");
    for(i=0;i<10;i++)
    {
        printf("%d\t",*b[i]);
    }
    return 0;
}
void mov(int *b[])
{
    int i,j;
    int *tem=NULL;
    for(i=0;i<10;i++)
    {
        for(j=i;j<10;j++)
        {
            if(*b[i]>*b[j])
            {
                tem=b[i];
                b[i]=b[j];
                b[j]=tem;
            }
        }
    }
}

[此贴子已经被作者于2016-6-18 23:00编辑过]

2016-06-18 22:39
hykj9495
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:796
专家分:1441
注 册:2016-6-6
收藏
得分:0 
回复 6楼 linlulu001
谢谢,刚刚学习C,很多题目意思能懂,编码不行。抄下了

慢慢调试
2016-06-19 07:55
格格不入fl
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:56
专家分:192
注 册:2016-3-23
收藏
得分:1 
用指针访问是不会改变数组的值的,只是改变了访问地址的逻辑结构
2016-06-19 22:41
轻语灬娜
Rank: 1
等 级:新手上路
帖 子:7
专家分:1
注 册:2016-3-21
收藏
得分:1 
指针输出每次取的是地址不改变原有数组的内容
举个例子:就像蜜蜂采花一样 假定五朵花 要求蜜蜂采花顺序从最甜的开始
   蜜蜂就可以认为是指针  花是数组内容
   蜜蜂完成采花过程就是排序过程
   由此可见 蜜蜂按要求完成采花后 花的位置不会变。
2016-06-20 07:46
wanglianyi1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:647
专家分:2067
注 册:2015-6-18
收藏
得分:1 
是不是也可以这样,你定义两个数组,一个数组用来存储你输入的10个数据,第二个数组从第一个元素依次存取在第一个数组中查找到的最小元素,然后依次输出第二个数组就可以了啊。
2016-06-20 09:13
快速回复:指针和数组?
数据加载中...
 
   



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

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