[求助]关于宏定义的问题
在宏定义时,是在预编译的时候将后面的字符串替换前面的标识符,既然是字符串形式,那么,在内存中应以ASCⅡ码形式存放,为什么在计算的时候又以整型、浮点型计算呢?如:
#define s 3
.....
x=s+5;
.....
为什么x=8;
而不是51(3的ASC码)+5=56呢?
谢谢!
2007-06-30 14:46
2007-06-30 14:53
2007-07-02 10:30
2007-07-02 10:43

2007-07-02 10:47
宏替换确实只是名称或者说表示方法的替换。对于类型不去检查,完全是你个人的爱好而已。另外宏定义只是c语言预处理命令的三种之一。还有“条件包含“,“条件编译“。宏替换说来也只是宏定义里面的应用的一小部分

2007-07-02 17:32
2007-07-04 12:17