27

我正在尝试#define在我的程序中定义一个常量。我意识到我可以使用const,但我试图很好地理解#define. 有人可以解释为什么下面的代码不起作用,而是应该做吗?

#include <stdio.h>
#define M 20;
typedef int Marray_t[M][M]; //I can't define an M x M array

int main() {
  Marray_t A;
  int i;

  for (i = 0; i < M; ++i) { //Can't iterate up to M
    A[i] = i;
  }

  return 0;
}
4

1 回答 1

65

你必须删除;之后20,像这样

#define M 20
于 2013-03-17T18:40:29.100 回答