最近做了一道北大ACM题,题目ID:3761,题目名称为Bubble Sort。惊奇的发现,我用宏定义数值常量,Runtime Error了。而如果将所有的宏定义常量转化为const 定义的常量的时候,却可以顺利的通过,这点令我很惊讶。一直以为宏定义只影响编译速度,对代码的运行速度没有影响。我唯一的猜测是,现在的CPU对变量进行了优化,将经常使用的变量放在了常用的寄存器中,从而提高了速度,然而仅仅是猜测而已。
当我使用宏定义的时候,出现了Runtime Error错误。而使用常量的时候,如下:
却顺利通过了。