#define 是 宏定义
宏定义是比较常用的预处理指令,即使用“标识符”来表示“替换列表”中的内容。标识符称为宏名,在预处理过程中,预处理器会把源程序中所有宏名,替换成宏定义中替换列表中的内容。
常见的宏定义有两种,不带参数的宏定义和带参数的宏定义。
无参数宏定义的格式为:#define 标识符 替换列表
替换列表可以是数值常量、字符常量、字符串常量等,故可以把宏定义理解为使用标识符表示一常量,或称符号常量。
带参数的宏定义格式为:#define 标识符(参数1,参数2,...,参数n) 替换列表。
使用宏定义主要是方便后续代码需要调整常量值的时候,直接修改宏定义即可,而不需要修改代码中每一个地方。
区别肯定有啊。不过这个区别跟运行结果无关,主要是代码便于修改。比如后续N和M值需要调整的话,只需要修改宏定义,否则你需要修改所有数组定义的地方,一来改的地方多,二来容易疏漏
预先define了N和M,那么当你的N要从10变成20,你直接改第一行就行了
而如果你下面写成score[10][10],a_str[10],a_cour[10],这你要改多少遍啊,别说后面还有一堆for循环里i<10要改了
有一个地方忘改了就是个bug