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

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

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

#include <stdio.h> 

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;
}

输出:


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