C语言面试题分享(1)

一、用预处理指令#define 声明一个常数,用以表明一年中有多少秒。(忽略闰年问题)
#define SECOND_PER_YEAR (606024*365)UL
分析:

  1. #define语法的基本常识(例如:不能以分号结束,括号的使用,通常的代码规范要求宏必须全部大写等等)
  2. 写出你是如何计算一年中有多少秒而不是计算实际的值,会更有价值(懂得预处理器将为你计算常数表达式的值)
  3. 这个表达式将使一个十六位机的int整型数溢出。因此要用到长整型符号L,告诉编译器这个常数是长整型的(可移植性)
  4. UL(表示无符号长整型)

二、写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个
#define MIN(a,b) (((a)>=(b))?(b):(a))
分析:

  1. #define语法的基本常识(例如:不能以分号结束,括号的使用,通常的代码规范要求宏必须全部大写等等)

关注持续更新…

猜你喜欢

转载自blog.csdn.net/weixin_44788542/article/details/111694065