熟悉以下预处理标识符__LINE__ __FILE__ __DATE__ __TIME__ # ##

_FILE__LINE_在确认调试输出的来源方面很有作用;_DATE__TIME_常常用于在被编译的程序中加入版本信息

#include
#include
#define PRINT \
      printf("%s,%d,%s,%s\n",__FILE__,__LINE__,__DATE__,__TIME__)
int main()
{
    PRINT;
    system("pause");
    return 0;
}

熟悉以下预处理标识符__LINE__ __FILE__ __DATE__ __TIME__ # ##_第1张图片

将一个宏参数转换为一个字符串,不进行宏替换

#include
#include
#define PRINT(a,b) printf(" "#b"= "a"\n",b)
int main()
{
    int x=20;
    PRINT("%d",x+3);
    system("pause");
    return 0;
}

熟悉以下预处理标识符__LINE__ __FILE__ __DATE__ __TIME__ # ##_第2张图片

把位于他两边的符号连接成一个符号

#include
#include
#define STR1 "hello"
#define STR2 "world"
#define STR1STR2 "welcome to you"
#define  CAT(a,b) a##b
int main()
{
    printf("%s\n",CAT(STR1,STR2));
    system("pause");
    return 0;
}

熟悉以下预处理标识符__LINE__ __FILE__ __DATE__ __TIME__ # ##_第3张图片

你可能感兴趣的:(熟悉以下预处理标识符__LINE__ __FILE__ __DATE__ __TIME__ # ##)