标题:新手遇到的一个问题
只看楼主
nanice
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-6-14
结帖率:100%
已结贴  问题点数:20 回复次数:5 
新手遇到的一个问题
void C(int a[],int n)
{int i,j,k,t;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(a[k]>a[j]) k=j;
t=a[i];
a[i]=a[k];
a[k]=t;
}
}
main()
{int b[10]={13,56,123,48,465,23,8,6,55,14};
int m;
C(b[10],10);
for(m=0;m<10;m++)
      printf("%d ",b[m]);
}
为什么这个程序运行出来没有重新排序啊....
感觉像函数没有调用一样...刚刚开始学C
谁能解释一下,最好清楚一点,十分感谢
搜索更多相关主题的帖子: void 
2010-06-14 12:25
playmyself
Rank: 5Rank: 5
来 自:第3系4级宇宙空间
等 级:职业侠客
帖 子:76
专家分:399
注 册:2009-7-8
得分:0 
应该传指针
void C(int *a,int n)
{
    int i,j,k,t;
    for(i=0;i<n-1;i++)
    {
        k=i;
        for(j=i+1;j<n;j++)
        if(a[k]>a[j]) k=j;
        t=a[i];
        a[i]=a[k];
        a[k]=t;
    }
}
main()
{
    int b[10]={13,56,123,48,465,23,8,6,55,14};
    int m;
    C(b,10);
    for(m=0;m<10;m++)
    printf("%d ",b[m]);
}

 

无聊创造奇迹。
2010-06-14 12:31
nanice
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-6-14
得分:0 
回复 2楼 playmyself
难道不能用数组名做形参吗?
2010-06-14 17:15
playmyself
Rank: 5Rank: 5
来 自:第3系4级宇宙空间
等 级:职业侠客
帖 子:76
专家分:399
注 册:2009-7-8
得分:10 
可以,一样,但传的时候要传地址。
程序代码:
void C(int a[],int n)
{
    int i,j,k,t;
    for(i=0;i<n-1;i++)
    {
        k=i;
        for(j=i+1;j<n;j++)
        if(a[k]>a[j]) k=j;
        t=a[i];
        a[i]=a[k];
        a[k]=t;
    }
}
main()
{
    int b[10]={13,56,123,48,465,23,8,6,55,14};
    int m;
    C(&b[0],10);
    for(m=0;m<10;m++)
    printf("%d ",b[m]);
}

 

[ 本帖最后由 playmyself 于 2010-6-14 17:29 编辑 ]

无聊创造奇迹。
2010-06-14 17:28
myhnuhai
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:3
帖 子:425
专家分:1725
注 册:2010-3-17
得分:10 
void C(int a[],int n)
{int i,j,k,t;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(a[k]>a[j]) k=j;
t=a[i];
a[i]=a[k];
a[k]=t;
}
}
main()
{int b[10]={13,56,123,48,465,23,8,6,55,14};
int m;
C(b[10],10);//兄弟你在这里调用函数时,如果数组作函数的实参那么只写上数组的头地址即可,你这样调用没有把数组调用到函数里面
for(m=0;m<10;m++)
      printf("%d ",b[m]);
}

不要让肮脏的记忆,迷失了原本纯洁的心灵!
2010-06-14 17:43
nanice
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-6-14
得分:0 
哦哦哦....
知道了,明白,谢谢各位啊
2010-06-14 18:07



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




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

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