编程学习网 > 编程语言 > C/C++开发 > c语言如何求最小值?(不用运算符如何求出最小值)
2022
06-11

c语言如何求最小值?(不用运算符如何求出最小值)

如果让你不能用">、<、>=、<=“等条件运算符,直接使用C语言求出三个整数的最小值,你会吗?是不是第一眼觉得挺简单的,但是仔细一想却不会了。今天编程学习网就带大家了解一下如何实现

代码实现:

int min(int a, int b, int c)
{
	return ((a - b) >> 31) && ((a - c) >> 31) ? a : (b - c) >> 31 ? b : c;
}
int main()
{
	int a, b, c;
	scanf("%d%d%d",&a,&b,&c);	
	int m = min(a, b, c);
	printf("%d\n", m);
	system("pause");
	return 0;
}
首先要了解 一个有符号整数向右移31位得到的应该是符号位,&&是逻辑位运算 故对于((a - b) >> 31) && ((a - c) >> 31)判断 a是否是最小值,不是就从b和c中去找最小值。然后就是三目运算符的运行过程了。表达式1?表达式2:表达式3 ,表达式1成立 取表达式2 的值,不成立取表达式3 的值。

以上就是“c语言如何求最小值?(不用运算符如何求出最小值)”的详细内容,想要了解更多C语言教程欢迎持续关注编程学习网

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取