預處理程序命令
#if#elif
#else
#endif
#ifdef
#ifndef
#undef
想問下這些預處理命令 有什麼特別?
#if
#elif
#else
比如說這幾個,跟
if
else if
else
這些有什麼區別呢? 预处理指令是在编译开始之前处理源代码**文本替换**的,一般来说就是通过判断这些条件来确定**是否要编译某一段代码**这样的功能,实现条件编译。
(换句话说,在最后生成的代码里是没有这些条件判断的。)
而在程序里的流程控制指令其作用则是在程序的运行时体现出来的,不是编译期。 在最后生成的代码里是没有这些条件判断的。 ???
這句話的意思是不是
比如:
#defineMAX 100
main()
{
int i=1;
printf("%d\\n",i);
#if MAX>99
printf("100");
#endif
}
這個程序相等於
main()
{
int i=1;
printf("%d\\n",i);
}
呢? 因为max > 99成立,所以最后生成的代码是:
main()
{
int i=1;
printf("%d\\n",i);
printf("100");
}
页:
[1]