| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 869 人关注过本帖
标题:二维数组参数怎么传!!!
只看楼主 加入收藏
纳兰伽香
Rank: 10Rank: 10Rank: 10
来 自:北京
等 级:贵宾
威 望:10
帖 子:426
专家分:1650
注 册:2015-4-5
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:15 
二维数组参数怎么传!!!
程序代码:
#include<stdio.h>

void conver(int **a,int **b);
void OutputArray(int **a);
void InputArray(int **a,int **b);

int N,M,i,j;
int main()
{
    scanf("%d%d",&N,&M);
    int a[N][M];
    int b[M][N];
    InputArray(*a,*b);
    conver(*a,*b);
    OutputArray(*a); 
    return 0;
}
void OutputArray(int **a)
{
    for(j=0;j<M;j++)    
     {
         for(i=0;i<N;i++)
         {
            printf("%d ",a[j][i]);    
         }       
           printf("\n");
       }
}

void conver(int **a,int **b)
{
    int i,j;
    for(i=0;i<N;i++)
    {
        for(j=0;j<M;j++)
        {
            b[j][i] = a[i][j];
        }
    }
}

void InputArray(int **a,int **b)
{
     for(i=0;i<N;i++)
     {
        for(j=0;j<M;j++)
        {
            scanf("%d",&a[i][j]);
        }    
     }
}



InputArray(*a,*b);
conver(*a,*b);
OutputArray(*a);
提示这3个的传参传错了!!!-_-!!!
搜索更多相关主题的帖子: color 
2015-04-17 15:19
无功
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:44
专家分:168
注 册:2015-4-12
收藏
得分:0 
scanf("%d%d",&N,&M);
    int a[N][M];
    int b[M][N];
这几条语句有问题吧,c语言中定义数组是
类型名 数组名[常量表达式];
2015-04-17 16:25
纳兰伽香
Rank: 10Rank: 10Rank: 10
来 自:北京
等 级:贵宾
威 望:10
帖 子:426
专家分:1650
注 册:2015-4-5
收藏
得分:0 
以下是引用无功在2015-4-17 16:25:13的发言:

scanf("%d%d",&N,&M);
    int a[N][M];
    int b[M][N];
这几条语句有问题吧,c语言中定义数组是
类型名 数组名[常量表达式];

你还活在古代

风回小院庭芜绿,柳眼春相续
2015-04-17 16:29
无功
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:44
专家分:168
注 册:2015-4-12
收藏
得分:0 
回复 3楼 纳兰伽香
c语言现在数组下标可以是变量?
2015-04-17 16:34
无功
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:44
专家分:168
注 册:2015-4-12
收藏
得分:0 
在函数内部使用数组表示法时,必须指定数组的形态(数组的维数及每一维大小),否则编译器就无法使用下标。
void conver(int a[][M],int b[][N])
void OutputArray(int a[][M])
void InputArray(int a[][M])

这是刚在书上看到的
2015-04-17 17:06
TAAAAB
Rank: 7Rank: 7Rank: 7
来 自:湖南
等 级:黑侠
威 望:1
帖 子:243
专家分:635
注 册:2011-5-29
收藏
得分:0 
记得这样是对的,为什么我自己也忘了,等下回家再翻下书

程序代码:
#include<stdio.h>

void conver(int a[][4], int b[][4]);
void OutputArray(int a[][4]);
void InputArray(int a[][4], int b[][4]);

int N = 4 , M = 4, i, j;
int main()
{
    
    int a[4][4];
    int b[4][4];
    InputArray(a, b);
    conver(a, b);
    OutputArray(a);
    return 0;
}

人有多懒,编程就有多难。
2015-04-17 18:01
scorer1120
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-3-9
收藏
得分:0 
新标准可以这样写: void conver(int M, int N, a[M][N]);
2015-04-17 21:50
z_j_j_1
Rank: 4
等 级:业余侠客
威 望:1
帖 子:62
专家分:213
注 册:2015-4-4
收藏
得分:0 
回复 楼主 纳兰伽香
c指针问题,需反复360全方位作业才能得心就手呀!
2015-04-17 22:26
纳兰伽香
Rank: 10Rank: 10Rank: 10
来 自:北京
等 级:贵宾
威 望:10
帖 子:426
专家分:1650
注 册:2015-4-5
收藏
得分:0 

风回小院庭芜绿,柳眼春相续
2015-04-18 23:14
纳兰伽香
Rank: 10Rank: 10Rank: 10
来 自:北京
等 级:贵宾
威 望:10
帖 子:426
专家分:1650
注 册:2015-4-5
收藏
得分:0 
没人么

风回小院庭芜绿,柳眼春相续
2015-04-20 10:14
快速回复:二维数组参数怎么传!!!
数据加载中...
 
   



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

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