[求助]关于宏定义的问题
在宏定义时,是在预编译的时候将后面的字符串替换前面的标识符,既然是字符串形式,那么,在内存中应以ASCⅡ码形式存放,为什么在计算的时候又以整型、浮点型计算呢?如:
#define s 3
.....
x=s+5;
.....
为什么x=8;
而不是51(3的ASC码)+5=56呢?
谢谢!
宏替换确实只是名称或者说表示方法的替换。对于类型不去检查,完全是你个人的爱好而已。另外宏定义只是c语言预处理命令的三种之一。还有“条件包含“,“条件编译“。宏替换说来也只是宏定义里面的应用的一小部分