【问题标题】:Using #define in C Program在 C 程序中使用#define
【发布时间】:2013-03-06 01:42:13
【问题描述】:

我正在尝试使用#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;
}

【问题讨论】:

    标签: c c-preprocessor


    【解决方案1】:

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

    #define M 20
    

    【讨论】:

    • 哦...它定义为20;。我完全没有想到!谢谢。
    • 另外,如果你像我一样是个白痴,并且将 = 赋值放在定义中,请尝试删除它。这显示了我多么不喜欢定义以及我如何不再使用 C。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多