用C中的#define定义全局int和二维矩阵
所以我对C语言中的define有点小问题。我确信这只是一个语法问题,但在浏览了几个论坛之后,我似乎找不到它是什么 我的代码是:用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
#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为我解决了它!谢谢哇,就是这样…非常感谢!哇,就是这样…非常感谢!