gpt4 book ai didi

c - 在 C 中使用#define 定义全局 int 和二维矩阵

转载 作者:太空宇宙 更新时间:2023-11-04 08:13:40 27 4
gpt4 key购买 nike

<分区>

所以我在使用 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]);
}

我想做的是解决这个最初用内存递归解决的卖酒问题。

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

有人能告诉我#define 有什么问题吗?它在方法中产生了几个错误,例如“丢失;”和“语法错误”。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com