首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于宏#define定义的有关问题

2012-03-13 
关于宏#define定义的问题用#define定义的宏体究竟是个什么东东呢?#define A 5printf(%d,A)输出的是5#de

关于宏#define定义的问题
用#define定义的宏体究竟是个什么东东呢?
#define A 5
printf("%d",A);输出的是5
#define A 50
printf("%s",A);程序出错
但是#define A "50"
printf(A);输出的却又是50;
#define A 50
printf("A");输出的是A


弄不懂#define是怎样工作的,不知道什么情况下可以用怎么用了书上说的不明不白什么字符串是宏体,但是宏体根本不能以字符串形式输出,计算的时候也不是按字符串算的。


[解决办法]
说白了,宏就是简单替换,你替换一下就看到最终语句了

#define A 50
printf("%s",A);程序出错
------------
printf("%s",50);意图输出地址为50的内容,这么小的地址通常不可读,错误
[解决办法]
#define A 5
就是以后可以把A当作5来用,5在这里是个数。。。。
#define A "50"
就是以后把A当作字符串50来用,在这里你这样打印printf("%s",A);是正确的

热点排行