C语言面试题大汇总之华为面试题5 (2009-08-28 15:40:03)
转载
标签: 分类: IT
c语言
面试题
华为
杂谈
试题3:写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。另外,


MIN(*p++, b)会产生宏的副作用
剖析:
这个面试题主要考查面试者对宏定义的使用,宏定义可以实现类似于函数的功能,但是它终归不是函数,而宏定义中括弧中的“参数”也不是真的参数,在宏展开的时候对“参数”进行的是一对一的替换。
程序员对宏定义的使用要非常小心,特别要注意两个问题:
(1)谨慎地将宏定义中的“参数”和整个宏用用括弧括起来。所以,严格

都应判0分;
(2)防止宏的副作用。
宏定义#define MIN(A,B) ((A) <= (B) ? (A) : (B))对MIN(*p++, b)的作用结果是:
((*p++) <= (b) ? (*p++) : (*p++))
这个表达式会产生副作用,指针p会作三次++自增操作。
除此之外,另一个应该判0分的解答是:
C 语言面试题大汇总之华为面试题 1、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用"::" 局部变量可以与全局变量同名,在函数内...
C语言面试题大汇总之华为面试题1 隐藏>> 1、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用"::" ;局部变量可以与全 局变量同名...
C语言面试题大汇总之华为面试题6_公务员考试_资格考试/认证_教育专区。试题 5:编写一个函数,作用是把一个 char 组成的字符串循环右移 n 个。比如 原来是“...
C语言面试题大汇总之华为面试题4_公务员考试_资格考试/认证_教育专区。C/C++...C/C++ 程序设计员应聘常见面试 面试试题深入剖析 面试 silver6 25 九月, ...
C语言面试题大汇总之华为面试题_工学_高等教育_教育专区。C语言面试题1、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用"::" ;...
C语言面试题大汇总之华为面试题_工学_高等教育_教育专区。C,C++,嵌入式面试大全。1、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要...
C语言面试题大汇总之华为面试题[EddyEddy]_IT/计算机_专业资料。C语言面试题大汇总之华为面试题C 语言面试题大汇总之华为面试题 Eddy 整理 1、局部变量能否和...
C语言面试题大汇总之华为面试题3_IT/计算机_专业资料。面试经典试题 面试 Author:Vince ————即使你是个编程高手,你在面试 面试前也应该要看看这套题,她也许...
C语言面试题大汇总之华为面试题及答案C语言面试题大汇总之华为面试题及答案隐藏>> 1、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要...
华为C语言面试题汇总 56页 4下载券 华为面试题 13页 免费 C语言面试题 16...为什么? 答:可以,在不同的 C 文件中以 static 形式来声明同名全局变量。 ...

我要评论