龙空技术网

C语言这个求最小值方法你可能不会!C语言哪些奇葩面试题解析

C语言基础 109

前言:

而今同学们对“c语言求一组数的最小值”都比较关怀,同学们都需要剖析一些“c语言求一组数的最小值”的相关资讯。那么小编在网摘上网罗了一些有关“c语言求一组数的最小值””的相关知识,希望你们能喜欢,同学们一起来学习一下吧!

前言

本文主要讲解C语言的一道面试题目,C语言学习将由此拉开序幕,亲爱的准备好了没?

今天的题目很简单哦。所以不用太紧张呢!

请看题:不能使用">、<、>=、<=“等条件运算符,找到3个整数a ,b ,c中的最小的数。

给你一秒中思考。小朋友是不是满脑子黑人问号?想不想要给面试出题者寄刀片????想要的请到评论区留下想!好了接下来我们就来实现实现。

实现代码与测试结果

有兴趣的可以自己去尝试下哦:

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include <stdio.h>#include <stdlib.h>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;}
知识解析

本题主要考究的是C语言基础知识哦

三目运算符逻辑运算符位运算符:

首先要了解 一个有符号整数向右移31位得到的应该是符号位,&&是逻辑位运算 故对于((a - b) >> 31) && ((a - c) >> 31)判断 a是否是最小值,不是就从b和c中去找最小值。然后就是三目运算符的运行过程了。表达式1?表达式2:表达式3 ,表达式1成立 取表达式2 的值,不成立取表达式3 的值。

尾言

文章都是手打原创,每天最浅显的介绍C语言、C++,windows知识,喜欢我的文章就关注一波吧,每天带你学习C/C++不同的知识,也可以看到最新更新和之前发表的文章哦。如果足下基础比较差,不妨关注下人人都可以学习的视频教程

《C语言51课视频教程合集》

《C++45课视频教程》

通俗易懂,深入浅出,一个视频只讲一个知识点。视频不深奥,不需要钻研,在公交、在地铁、在厕所都可以观看,随时随地涨姿势

标签: #c语言求一组数的最小值