不用判断语句,求两个数的最大值

不用判断语句,求两个数的最大值

我面试时的一道题,当时没有解决,现在总算是知道了,呵呵

#include "stdio.h"

int max(int x,int y)
{
int buf[2]={x,y};
unsigned int z;

z=x-y;
z = z>>31;

return buf[z];
}
void main(void)
{
  int ma;
  ma=max(2,-1);
  printf("max=%d\n",ma);

}

posted @ 2009-11-30 16:36  MushRoom_lb  阅读(1234)  评论(5编辑  收藏  举报