C语言宏定义 中一选择题 概念性
在宏定义#defineMAX30中,用宏名代替一个A常量B字符串C整数D长整数答案居然是选B困惑了宏名MAX代替了30可30不是常量就是整数么也就是要么A要么C怎么是B呢...
在宏定义#define MAX 30中,用宏名代替一个 A 常量 B 字符串 C 整数 D 长整数 答案居然是选B 困惑了 宏名MAX 代替了30 可 30不是常量 就是整数么 也就是要么A 要么 C 怎么是B呢?
展开
1个回答
展开全部
答案肯定是B的,提问者的疑惑是30明明是一个
常数
,问什么会变成一个
字符串
呢!其实是提问者对
宏定义
的理解不够透彻造成的。
让我们来看一下宏定义的
含义
到底是什么(注:笔者自己的理解可能言语表达上不够严谨),宏定义的作用是在
程序
编译以前,把宏定义的内容(
如题
中MAX)用事先安排好的内容(如题中30)代替,然后在进行编译,也就是说宏定义的作用就有点像是我们人在编程序,然后写上了30这个字符串。只不过这个写的
过程
有一部分工作是
编译器
帮助我们完成的。所以宏定义可以理解为用一个字符串特定且一定的代替另一个字符串,宏定义是不允许重复
定义
的。
常数
,问什么会变成一个
字符串
呢!其实是提问者对
宏定义
的理解不够透彻造成的。
让我们来看一下宏定义的
含义
到底是什么(注:笔者自己的理解可能言语表达上不够严谨),宏定义的作用是在
程序
编译以前,把宏定义的内容(
如题
中MAX)用事先安排好的内容(如题中30)代替,然后在进行编译,也就是说宏定义的作用就有点像是我们人在编程序,然后写上了30这个字符串。只不过这个写的
过程
有一部分工作是
编译器
帮助我们完成的。所以宏定义可以理解为用一个字符串特定且一定的代替另一个字符串,宏定义是不允许重复
定义
的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询