用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)

通过这道题面试官想考以下几个知识点:

1.#define语法的基本知识(例如,不能以分号结束,括号的使用,等等)

2.要懂得预处理器将为你计算常数表达式的值,因此,写出你如何计算多少秒比直接计算出实际的值

更有意义。

3.意思到这个表达式的值将使一个16位机的整型数溢出,因此要使用长整型符号L,告诉编译器这个常数

是长整型。

答案:#define seconds_per_year  (365*24*60*60)UL

写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。

答案:#define MIN(A,B) ((A)<=(B)?(A):(B))

#include<iostream>
#define MIN(A,B) ((A<B)?A:B)

using namespace std;

int main()
{
  int A,B;
  cin>>A>>B;
  cout<<MIN(A,B)<<endl;
  system("pause");
  return 0;
}

posted on 2012-11-03 12:59  吉大依恋  阅读(1416)  评论(0编辑  收藏  举报