| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 517 人关注过本帖
标题:求解c语言二维数组参数传递的方法。谢谢!
只看楼主 加入收藏
sunxueguang1
Rank: 1
来 自:山西
等 级:新手上路
帖 子:16
专家分:0
注 册:2013-3-23
结帖率:60%
收藏
已结贴  问题点数:14 回复次数:4 
求解c语言二维数组参数传递的方法。谢谢!
#include<stdio.h>
void paixu(int p[][2],int d)//函数的形参和实参该怎么写我下面的操作就合法了呢?
{
    int i,j,temp1,temp2;
    for(i=1; i<=d; ++i)
    {    for(j=1; j<=d-i; ++j)
        {
            if(p[j][0]<p[j+1][0])
            {
                temp1=p[j][0];
                temp2=p[j][1];
                p[j][0]=p[j+1][0];
                p[j][1]=p[j+1][1];
                p[j+1][0]=temp1;
                p[j+1][1]=temp2;
            }
        }
    }
}
main()
{
    int t,i,j,p=0;
    int a[5][2];
    for(i=0;i<5;i++)
         for(j=0;j<2;j++)
         {
             printf("qingshuruyigezhi:");
             scanf("%d ",&a[i][j]);
             p++;
             printf("%d*\n",p);
         };

    t=3;
    paixu(a[5][2],t);// 参数该怎么写?
    for(i=0;i<5;i++)
        for(j=0;j<2;j++)
    printf("%d ",a[i][j]);
}
搜索更多相关主题的帖子: include 
2013-05-14 16:17
Ryker
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:145
专家分:420
注 册:2013-2-19
收藏
得分:14 
paixu(a[5][2],t);// 参数该怎么写?

paixu(a, t);

复习一下数组的相关概念,提示:数组名是一个地址,指向该数组的首元素

函数定义部分指明了参数类型是一个2维数组,也就是需要传送一个地址,而a[5][2]是一个常量,所以 paixu(a[5][2],t); 不合法

[ 本帖最后由 Ryker 于 2013-5-14 16:30 编辑 ]
2013-05-14 16:25
sunxueguang1
Rank: 1
来 自:山西
等 级:新手上路
帖 子:16
专家分:0
注 册:2013-3-23
收藏
得分:0 
回复 2楼 Ryker
我想把数组传过去之后以p[i][j]这样进行操作啊;可是那样传过去的话实现不了。
2013-05-14 16:28
Ryker
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:145
专家分:420
注 册:2013-2-19
收藏
得分:0 
只要改了那一句,参数就没有问题

其他问题我没看
2013-05-14 16:36
sunxueguang1
Rank: 1
来 自:山西
等 级:新手上路
帖 子:16
专家分:0
注 册:2013-3-23
收藏
得分:0 
哦,谢谢你!
2013-05-14 16:44
快速回复:求解c语言二维数组参数传递的方法。谢谢!
数据加载中...
 
   



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

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