1.__LINE__
在LINE前后各有两个下划线。LINE的用途是打印当前行的行号
#include <stdio.h>
int main()
{
printf("%d\n", __LINE__);
system("pause");
return 0;
}
__LINE__所在行为5,所以输出值为5
2.__FILE__
__FILE__的用途是打印当前为件的位置
#include <stdio.h>
int main()
{
printf("%s\n",__FILE__);
system("pause");
return 0;
}
3.__DATE__
__DATE__的用途是打印出当前的日期
#include <stdio.h>
int main()
{
printf("%s\n", __DATE__);
system("pause");
return 0;
}
4.__TIME__
__TIME__的用途是打印出当前的时间
#include <stdio.h>
int main()
{
printf("%s\n", __TIME__);
system("pause");
return 0;
}
5.##
##是将左右两个字符连接成一个字符串
#include <stdio.h>
#define CAT(a,b) a##b
#define STR1 "HELLO"
#define STR2 "WORLD"
#define STR1STR2 "hello world"
int main()
{
printf("%s\n", CAT(STR1, STR2));
system("pause");
return 0;
}
##在宏定义中使用将STR1和STR2连接成了STR1STR2,所以CAT(STR1,STR2)应该输出STR1STR2的内容