标题:定义一个一维数组用指针 调用逆序函数输出
只看楼主
甜甜的惟
Rank: 2
等 级:论坛游民
帖 子:66
专家分:19
注 册:2016-11-26
结帖率:100%
已结贴  问题点数:20 回复次数:3 
定义一个一维数组用指针 调用逆序函数输出
程序代码:
#include<stdio.h>
#define n 9
void inverse(int *p,int n);
int main()
{
    int a[n]={1,2,3,4,5,6,7,8,9};
    inverse(a[n],n);
    printf("%s",a[n]);
    return 0;

}

void inverse(int *p,int n)
{
    int *begin,*end,p,i;
    for(i=0;i<n/2;i++)
    {
        begin=&a[i];
        end=&a[n-i-1];
        if(begin<end)
        {
            p=*a[i];
            *a[i]=*a[n-i-1];
            *a[n-i-1]=p;
        }

    }
}


为什么一直错
2016-12-12 09:23
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
得分:5 
代码基本功不好啊,题目要求是把顺序数组逆序输出吗?
2016-12-12 09:47
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:5 
for (i=0;i<N;i++)
        printf("%d",a[i]);
2016-12-12 09:51
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:10 
void inverse(int *p,int n)
{
    int *begin,*end;
    for(begin=p, end=p+n-1; begin<end; begin++, end--)
    {
        *begin ^= *end;
        *end ^= *begin;
        *begin ^= *end;
    }
}
2016-12-12 09:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-472301-1-1.html




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

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