佛缘 发表于 2019-7-5 16:02:05

c++ #if的用法,为啥输出的是else

#include<iostream.h>
void main()
{
        const int A= 20;
#if A>10
cout<<"A>10"<<endl;
#elif A>11
cout<<"A>11"<<endl;
#else
cout<<"else"<<endl;
#endif;
};

shake_a_tree@16 发表于 2019-7-5 16:12:29

#if是在预编译的时候处理的,预编译的时候,         const int A= 20;还没被执行,也就不存在A变量,后面的判断A>10和A>11也就无法成立,所以就直接执行else后面的了

shake_a_tree@16 发表于 2019-7-5 16:13:03

#if是在预编译的时候处理的,预编译的时候,         const int A= 20;还没被执行,也就不存在A变量,后面的判断A>10和A>11也就无法成立,所以就直接执行else后面的了
页: [1]
查看完整版本: c++ #if的用法,为啥输出的是else