预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。
1."#“和”##"
(1).#define PI 3.1415926
(2).#define PASTE(n) “asdfg”#n
printf("%s",PASTE(15)); //输出:asdfg15
(3).#define NUM(a,b,c) a##b##c
printf("%d",NUM(1,2,3)); //输出123
2.常见预处理命令
(1).定义变量(define)和取消定义变量(undef)。
#define pi 3.14
int main()
{
return 0;
}
#undef pi
(2).条件预处理语句(只有在满足一定条件的时候才编译某部分内容)。#if、#ifdef、#ifnedf、#else、#elif、#endif。
#define MAX 10
int main()
{
#if MAX > 99
cout<< 123 <<endl;
#else
cout<< 456 <<endl;
#endif
return 0;
}
//当所指定的标识符被define定义时,仅编译程序#ifdef下的程序段,否则编译#else下的程序段。
#define debug
int main()
{
#ifdef DEBUG
cout << 111 << endl;
#else
cout << 222 << endl;
#endif
sys