c++ - #定义一个变量值?预处理指令

标签 c++ c c-preprocessor

我想知道是否有可能以某种方式在 C/C++ 中制作这样的东西:

int a = 5;
#define A a
printf("%s\n", A); // should print 5 (value of 'a' variable)

好的,这段代码给了我段错误(Windows 7,Code::Blocks):

#include <stdio.h>

int main()
{
    int a = 5;
    #define A a

    #if defined(A)
        printf("%d\n", A);
    #endif

    return 0;
}

最佳答案

您需要使用%d而不是%s:

printf("%d\n", A);

检查this出来,它有效!

关于c++ - #定义一个变量值?预处理指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17558201/

相关文章:

c++ - 防止随机整数不断被重新分配

c++ - 如何在程序中不使用分号的情况下打印分号(;)?

c - 为什么 getchar() 不读取退格等字符?

c++ - 在 C/C++ 中拆分输出以进行重定向

c++ - C可变参数宏调用另一个可变参数宏

c - 预处理中的多个定义条件

c++ - 从 Intellisense 隐藏 C++ 代码块

C++ push_back 方法

c++ - 如何使用 C++ 将所有类的执行时间添加到单个文本文件中?

c++ - 如何将 BYTE 数组中的两个字节作为 int (或类似的东西)存储?