我想了解#ifdef
宏。下面的示例代码。有条件汇编#ifdef
getval(int val)
{
if(val==0) {
#ifndef PKT
#define PKT
#endif
}
}
main() {
getval(0);
#ifdef PKT
printf("Packet\n");
#endif
}
我得到的输出Packet
甚至当我通过1
到getval
。当val=1
没有定义PKT
时,为什么我会得到输出?谢谢。
:
或者,你可以使用枚举。 – Alexis
这个答案会帮助你http://stackoverflow.com/questions/17349387/scope-of-macros-in-c/17349448 – VoidPointer