若有以下宏定义:#define X 5#define Y X+1#define Z Y*X/2
1个回答
2022-09-28 · 百度认证:北京惠企网络技术有限公司官方账号
关注
展开全部
7、5
根据宏定义知:
X=5,
Y=X+1=6,
Z=Y*X/2
=X+1*X/2
=7,a=Y=6,
--a=5。
宏定义在 C 语言源程序中允许用一个标识符来表示一个==字符串==,称为“==宏/宏体==” ,被定义为“宏”的==标识符==称为“==宏名==”。
扩展资料
相对于==全局变量==两者的区别如下:
1.宏定义在编译期间即会使用并替换,而全局变量要到运行时才可以。
2.宏定义的只是一段字符,在编译的时候被替换到引用的位置。在运行中是没有宏定义的概念的。而变量在运行时要为其分配内存。
3.宏定义不可以被赋值,即其值一旦定义不可修改,而变量在运行过程中可以被修改。
4.宏定义只有在定义所在文件,或引用所在文件的其它文件中使用。而全局变量可以在工程所有文件中使用,只要再使用前加一个声明就可以了。换句话说,宏定义不需要extern。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询