使用;定义;在C语言中,同时作为int和char
我试图用一个#定义我们如下,int和char使用;定义;在C语言中,同时作为int和char,c,c-preprocessor,C,C Preprocessor,我试图用一个#定义我们如下,int和char #define name joe 这样,它是int,但我希望能够打印出这个#定义并得到Joe这个词。 我知道我可以用 #define name "Joe" 但我会放弃它的“智力能力” 我能做什么? 伙计们 预处理器操作符将宏参数转换为字符串文字。输出: #include <stdio.h> #define name Joe #define Helper(x) #x #define Stringify
#define name joe
这样,它是int,但我希望能够打印出这个#定义并得到Joe这个词。
我知道我可以用
#define name "Joe"
但我会放弃它的“智力能力”
我能做什么?
伙计们 预处理器操作符将宏参数转换为字符串文字。输出:
#include <stdio.h>
#define name Joe
#define Helper(x) #x
#define Stringify(x) Helper(x)
int main(void)
{
int name = 4;
printf("%s is %d.\n", Stringify(name), name);
}
#包括
#定义名称Joe
#定义辅助对象(x)#x
#定义字符串化(x)辅助对象(x)
内部主(空)
{
int name=4;
printf(“%s是%d.\n”,Stringify(name),name);
}
是:
乔4岁
两个宏是必需的,因为在应用#
之后,才会执行Stringify
中的x
扩展。因此,我们需要Stringify
来展开x
,然后Helper
来生成字符串文本
没有充分的理由,不要在生产代码中使用此选项。使用预处理器玩游戏时应小心。预处理器操作符将宏参数转换为字符串文字。输出:
#include <stdio.h>
#define name Joe
#define Helper(x) #x
#define Stringify(x) Helper(x)
int main(void)
{
int name = 4;
printf("%s is %d.\n", Stringify(name), name);
}
#包括
#定义名称Joe
#定义辅助对象(x)#x
#定义字符串化(x)辅助对象(x)
内部主(空)
{
int name=4;
printf(“%s是%d.\n”,Stringify(name),name);
}
是:
乔4岁
两个宏是必需的,因为在应用#
之后,才会执行Stringify
中的x
扩展。因此,我们需要Stringify
来展开x
,然后Helper
来生成字符串文本
没有充分的理由,不要在生产代码中使用此选项。使用预处理器玩游戏时要小心。你说的“智力能力”是什么意思?第一个示例不生成和整数值,它只生成一个label.int函数,就像在与枚举进行比较时使用它一样:“enum namenum joe==name”这就是您要问的吗?“智力能力”是什么意思?第一个示例不生成和整数值,它只生成一个label.int函数,就像在与枚举进行比较时使用它一样:“enum namenum joe==name”这就是您要问的吗?把我揍一顿。我要删除我的答案,把我揍一顿。我将删除我的答案。