C++面试问题之一_C/C++_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > C/C++ > C++面试问题之一

C++面试问题之一

 2011/10/11 8:12:48  YuHuang.Neil  http://yuhuang-neil.iteye.com  我要评论(0)
  • 摘要:请定义一个宏,比较两个数a、b的大小,不能使用大于、小于和if语句。答:使用两个数的差值和与运算来判断这两个数的大小。#include<cstdlib>#include<iostream>usingnamespacestd;#defineMAX(a,b)(((long)(a-b))&0x80000000)?b:a;intmain(intargc,char*argv[]){inta=1000,b=1022;intmaxValue=MAX(a,b);cout<
  • 标签:面试 c++ 问题 面试问题
请定义一个宏,比较两个数a、b的大小,不能使用大于、小于和if语句

答:

使用两个数的差值和与运算来判断这两个数的大小。


#include <cstdlib>
#include <iostream>

using namespace std;

#define MAX(a,b) (((long)(a-b))&0x80000000)?b:a;


int main(int argc, char *argv[])
{
    int a=1000,b=1022;
    int maxValue=MAX(a,b);
    cout<<"the max value is "<<maxValue<<endl;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}




发表评论
用户名: 匿名