更新使用c中的#define定义的变量的值
用C语言 如果我使用#define定义一个值 例如: 我可以在程序中进一步更新更新使用c中的#define定义的变量的值,c,C,用C语言 如果我使用#define定义一个值 例如: 我可以在程序中进一步更新状态的值吗? 如果可能的话,告诉我怎么做?预处理器是一个文本替换系统。换句话说,当您在程序的其他地方使用符号STATE时,它将被其定义所取代(1) 例如,如果您编写: printf("%d\n", STATE); 预处理器用1替换STATE,编译器实际“看到”的是: 如果您试图在C代码中更新状态,那么在赋值给r值时会出现错误 如果要在预处理器中重新定义状态,可以执行以下操作: #define STATE 1 #und
状态的值吗?
如果可能的话,告诉我怎么做?预处理器是一个文本替换系统。换句话说,当您在程序的其他地方使用符号STATE
时,它将被其定义所取代(1
)
例如,如果您编写:
printf("%d\n", STATE);
预处理器用1
替换STATE
,编译器实际“看到”的是:
如果您试图在C代码中更新状态
,那么在赋值给r值时会出现错误
如果要在预处理器中重新定义状态,可以执行以下操作:
#define STATE 1
#undef STATE
#define STATE 2
这不是一个变量。您应该阅读C预处理器的工作原理。如果在几行代码之外使用,这样的代码是非常危险的,被认为是不好的做法。在没有更多信息的情况下,OP想要什么也不清楚。
printf("%d\n", 1);
#define STATE 1
#undef STATE
#define STATE 2