对宏定义的一点疑惑在宏定义#define N 30中,30是一串字符,那么在编译程序时,如果30参与算术运算,按理应该是不能进行的,因为字符串怎么能参与算术运算呢?而事实上30就参与了算术运算,这该怎么解释?[解决办法]应该这样说,源文件就是一系列的字符串. 比如说,你定义: int a=1; 你不能说1就是数字1,事实上int a=1;就是一个串. 宏定义也是这个道理.