问题描述
- C语言关于#用法的错误
-
#include
#define NAME ABC
#define AGE 21
void main()
{
fprintf( "我是" #NAME ",年龄"#AGE"n");
getchar();
}我是想用# 来实现 输出 我是ABC,年龄21 这样的结果.
这么做的初衷是尝试各种方式运用define功能,是自己理解
但是参考了这篇blog(http://blog.csdn.net/acs713/article/details/6891837)
之后,自己尝试了如上代码,但是Visual 2013 却提示如下信息:我想知道怎么样才能在可能保证原目的的情况下,正确编译?
解决方案
#include
#define NAME ABC
#define AGE 21
#define S1(x) #x
#define S2(x) S1(x)
int main()
{
printf("我是" S2(NAME) ",年龄" S2(AGE) "n");
getchar();
return 0;
}
时间: 2024-10-03 18:43:16