C语言笔试题精选1---求两个数之间较大的数,不使用if、while、switch、for、?:/以及任何比较语句

2014-11-23 19:59:57 · 作者: · 浏览: 23

题目:求两个数a、b之间较大的数,不使用if、while、switch、for、 :/以及任何比较语句

#include 
  
    

int min(int a, int b)
{
    int d = a - b;
    int flag = ((unsigned int)d) >> 31;
    int array[] = {b, a};
    
    return array[flag];
}

int main(int argc, char *argv[])
{
	int i_min, a, b;
	scanf("%d %d",&a,&b);
    i_min = min(a,b);
    printf("%d\n",i_min);
    
    return 0;
}

  

输出: