1.有如下函数:
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int a =0,b = 0;
#if defined A
a = 10;
#else
a = 5;
#endif
cout << "a = "a << endl << "b=" << b;
}
执行结果为:a = 10
b = 0
2.若将上述函数改为如下函数(在a b 变量之后添加对宏A的定义):
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int a =0,b = 0;
#define A b = 20
#if defined A
a = 10;
#else
a = 5;
#endif
cout << "a = "a << endl << "b=" << b;
}
执行结果为:a = 5
b = 0
说明:#if defined A
a = 10;
#else
a = 5;
#endif
和普通的选择语句一样,只是其执行条件是是否定义了宏A,但无论宏A定义与否,都会执行此语句
3.继续改进上述函数如下:
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int a =0,b = 0;
#define A b = 20
#if defined A
a = 10;
#else
a = 5;
#endif
A;
cout << "a = "a << endl << "b=" << b;
}
执行结果为:a = 10
b = 20