用C语言编写 如果我使用#define定义一个值 例如:
#define STATE 1
我可以在程序中进一步更新STATE
的值吗?
如果有可能,请告诉我怎么做?
答案 0 :(得分:0)
预处理器是一个文本替换系统。换句话说,当您在程序的其他位置使用符号STATE
时,它将被其定义(1
)替换。
例如,如果你写:
printf("%d\n", STATE);
预处理器用STATE
替换1
,编译器实际“看到”的是:
printf("%d\n", 1);
如果您尝试在C代码中更新STATE
,则会收到有关分配r值的错误。
如果要在预处理器中重新定义状态,可以执行以下操作:
#define STATE 1
#undef STATE
#define STATE 2