Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用C中的#define定义全局int和二维矩阵_C_Matrix_Global Variables - Fatal编程技术网

用C中的#define定义全局int和二维矩阵

用C中的#define定义全局int和二维矩阵,c,matrix,global-variables,C,Matrix,Global Variables,所以我对C语言中的define有点小问题。我确信这只是一个语法问题,但在浏览了几个论坛之后,我似乎找不到它是什么 我的代码是: #include <math.h> #include <stdio.h> #include <stdlib.h> #define max(x, y) (((x) > (y)) ? (x) : (y)) #define MAX_N (5) #define m[MAX_N][MAX_N] int wineProfitMemor

所以我对C语言中的define有点小问题。我确信这只是一个语法问题,但在浏览了几个论坛之后,我似乎找不到它是什么

我的代码是:

#include <math.h>
#include <stdio.h>
#include <stdlib.h>

#define max(x, y) (((x) > (y)) ? (x) : (y))
#define MAX_N (5)
#define m[MAX_N][MAX_N]


int wineProfitMemorized(int price[], int n, int begin, int end) {
    int i, j;
    for (i = 0; i < n; i++) {
        for (j = 0; j < n; j++) {
            m[i][j] = -99;
        }
    }
    int year = 0;
    ++year;
    if (begin > end) {
        return 0;
    }
    if (m[begin][begin] == -99){
        m[begin][begin] = price[begin] * year;
    }
    if (m[begin][end] == -99){
        m[begin][end] = price[end] * year;
    }
    return max(m[begin + 1][end] + m[begin][begin], m[begin][end - 1] + m[begin][end]);
}
#包括
#包括
#包括
#定义最大值(x,y)(((x)>(y))?(x):(y))
#定义最大值(5)
#定义m[MAX\u N][MAX\u N]
int wineProfitMemorized(int价格[],int n,int开始,int结束){
int i,j;
对于(i=0;i结束){
返回0;
}
如果(m[begin][begin]=-99){
m【开始】【开始】=价格【开始】*年;
}
如果(m[开始][结束]=-99){
m【开始】【结束】=价格【结束】*年;
}
返回最大值(m[begin+1][end]+m[begin][begin],m[begin][end-1]+m[begin][end]);
}
我想做的是解决这个葡萄酒销售问题,这个问题最初是通过回忆录递归解决的

我必须定义这两个变量MAX_N=5和数组m[MAX_N][MAX_N],这样我就可以在后面的动态规划方法中进一步访问它。我必须把它打印出来并填入值,所以它不能是只读的


谁能告诉我“定义”有什么问题吗?它在方法中生成了几个错误,例如“missing;”和“syntax error”。

您将宏定义与变量声明混淆了。前两个宏可以,但第三个宏需要更改为声明。只需替换:

#define m[MAX_N][MAX_N]
与:


这应该会有所帮助。

您将宏定义与变量声明混淆了。前两个宏可以,但第三个宏需要更改为声明。只需替换:

#define m[MAX_N][MAX_N]
与:


这应该会有帮助。

问题:
m
的数据类型是什么?应该是int,但Tom Karzes为我解决了这个问题!谢谢问题:
m
的数据类型是什么?它应该是int,但Tom Karzes为我解决了它!谢谢哇,就是这样…非常感谢!哇,就是这样…非常感谢!