宏常量有数据类型,而const常量没有数据类型
有些集成化的调试工具可以对const 常量进行调试,但是不能对宏常量进行调试
编译器可以对const进行类型安全检查。而对#define只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误。
答案:1) const 常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误。
2) 有些集成化的调试工具可以对const 常量进行调试,但是不能对宏常量进行调试。
BC
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题
#define和const 相比有如下劣势:
1.const定义常量是有数据类型的,而#define宏定义常量却没有
2.const常量有数据类型,而宏常量没有数据类型。编译器可以对const进行类型安全检查,
而对后者只进行字符替换,没有类型安全检查,并且在字符替换中可能会产生意料不到的错误
3.有些集成化的调试工具可以对const常量进行调试,但是不能对宏常量进行调试。
因此A是错误的,BC是正确的。