标题:求助:二维数组的问题,但是不知道怎么改。求教!
只看楼主
大脸菜鸟
Rank: 2
等 级:论坛游民
帖 子:12
专家分:36
注 册:2013-10-16
得分:0 
再详细点可以这样说
#define n 2 之后,n只能代表2,它在整个程序中只能是2,不能修改了,所以是常量。
int n=2,n可以随便修改,虽然这时候n=2,但是你马上就可以写 n=3.所以它是变量。
但是数组定义的语法规定,[]方括号里必须是常量,你的就不行了。
个人理解。
2013-11-19 12:42
ljx小子
Rank: 8Rank: 8
来 自:星星
等 级:蝙蝠侠
威 望:2
帖 子:222
专家分:916
注 册:2013-10-7
得分:4 
程序代码:
#include<stdio.h>
int m=3,n=2;
int main()
{

    double average(int x[3][2],int m,int n);
    double mean;
    int matrix[3][2]={{1,2},{3,4},{5,6}};
    mean=average(matrix,m,n);
    printf("%lf",mean);
    return 0;
}
double average(int x[3][2],int m,int n)
{
    int i,j;
    double sum=0.0;
    for(i=0;i<m;i++)
        for(j=0;j<n;j++)
            sum+=x[i][j];
        return(sum/(m*n));
}
声明函数可以放在主函数中的,但是二维数组的定义形式为:类型说明符 数组名[常量表达式][常量表达式],你里面放的那个m,n是变量,也可以用宏定义把m,n写一下

。。。。。。。。。。。
2013-11-19 16:07
shanexia
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2013-11-17
得分:0 
恩,明白了,谢谢大家。
2013-11-19 19:55



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




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

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