| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1343 人关注过本帖
标题:怎样利用指针将数组的值回带,求解答
只看楼主 加入收藏
冷月·葬花魂
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2017-12-10
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:5 
怎样利用指针将数组的值回带,求解答
#include<stdio.h>
int paixu(int*a,int n)
{
    int i,j,p;
        for(i=0;i<6;i++)
            scanf("%d",&a[i]);
        for(i=0;i<6;i++)
        {
            p=a[i];
            j=i-1;
            while(j>=0&&p<a[j])
            {
                a[j+1]=a[j];
                j--;
            }
                a[j+1]=p;

            
        }return ;//怎样返回排好序后的数组a[i]呢?求大神解答
}
int main()
{
    int a[6],i;
    printf("亲,输入6个整数:\n");
        for(i=0;i<6;i++)
            scanf("%d",&a[i]);
    printf("%d",paixu(a,6));
    return 0;
}
搜索更多相关主题的帖子: 指针 数组 int for i++ 
2017-12-10 15:38
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:2 
为什么要返回?

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-12-10 15:42
冷月·葬花魂
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2017-12-10
收藏
得分:0 
回复 2楼 renkejun1942
老师要求的,结果一定要在主函数打印出来
2017-12-10 16:40
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:9 
通常返回所需元素的下标就可以。
一定要用指针可以这样:
#include <stdio.h>
int *paixu(int*a,int n)
{
    int i=1;
    //......
    return &a[i];
}
main()
{
    int a[3]={1,2,3};
    printf("%d\n", *paixu(a,3));
}
2017-12-10 18:07
GBH1
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:112
专家分:510
注 册:2017-6-13
收藏
得分:9 
你这排序是在原数组上进行的,排好以后原数组就改变了,即原数组就是已经排好序的数组了。
你这个排序函数内部输入数组数据应该不需要,因为从你的main函数测试来看,是直接在main函数内输入数组数据,然后直接将数组传入排序函数进行调用的。执行了排序函数后,数组就已经排好序了,还返回什么排序后的数组。
void paixu(int* a, int n)
{
    int i,j,p;   
    for(i=0;i<6;i++)
    {
        p=a[i];
        j=i-1;
        while(j>=0&&p<a[j])
        {
            a[j+1]=a[j];
            j--;
        }
            a[j+1]=p;

        
    }//return ;怎样返回排好序后的数组a[i]呢?求大神解答
}
int main()
{
    int a[6],i;
    printf("亲,输入6个整数:\n");
    for(i=0;i<6;i++)
    scanf("%d",&a[i]);
    paixu(a,6);   
    for(i=0;i<6;i++)
    printf("%d\t",a[i]);
    return 0;
}
2017-12-10 19:00
虫眼
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:314
专家分:1121
注 册:2017-11-29
收藏
得分:0 
楼上的意见是正确的
2017-12-11 09:31
快速回复:怎样利用指针将数组的值回带,求解答
数据加载中...
 
   



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

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