把变量和表达式转换成字符串

来源:互联网 发布:java航空订票系统 编辑:程序博客网 时间:2024/05/16 09:11
 

    如果在调试程序时想输出形如"x = 20"的话,通常是直接利用如下语句:cout <<"x="<<x<<endl;如果变量只有一个或是几个还好(实际上多于三个就让人有些难以接受了),实际编程中所遇到的大都多于三个,这样我们就得为每一个输出的变量写一句。幸运的是,标准C具有字符串化运算符"#",在一个宏中的参数前面使用一个"#",预处理器会把这个参数转换为一个字符串数组。像这样:

#include <iostream>

using namespace std;

#define p(x) cout << #x"="<<x<<endl;

int main()

{

    int a = 10;

    p(a);

    return 0;

}

输出:

a = 10;