C语言中三个数比较大小详解——三种方法
- 方法一:if-else法
- 方法二:函数法
- 方法三:三目运算符法
C语言中比较三个数的大小有很多方法,以下是我总结的三种方法:
首先我定义 int a = 10; int b = 20; int c = 30;来比较三个数的大小。(如要输入三个数的大小,调用scanf函数即可实现)
以下为比较大小的不同方法附带源码。
方法一:if-else法
if-else是最简单组常见的比较方法,通过if-else的嵌套使用求出三个数中的最大值,注意的是 if 后面如需要多条语句支持时,需要加“{}”。
源代码如下:
#includeint main(){int a = 10;int b = 20;int c = 30;int max = 0;if (a > b&&a > c)max = a;else if (b > c&&b > a)max = b;else if(c > a&&c > b)max = c;printf("max = %d\n",max);return 0;}
方法二:函数法
通过调用MAX函数实现功能
源码如下:
#includeint MAX(int a, int b, int c){if (a>b && a>c)return a;else if (c>a && c>b)return c;else if (b>a && b>c)return b;elsereturn a;}int main(){int a = 10;int b = 20;int c = 30;int ret = MAX(a, b, c);printf("max = %d\n", ret);return 0;}
方法三:三目运算符法
其实叠加的三目运算符它的一般形式如下:
表达式1? 表达式2:表达式3;
通过三目运算符其实是可以比较n个数的大小的,以下我以比较三个数的大小为例:
注:读代码方法,找出相离最近的 “ ?:”,然后从里往外读。
源码如下:
#includeint main(){int a = 10; int b = 20;int c = 30;int ret = a>b?a>c?a:c:b>c?b:c;//通过三目运算符的叠加比较出大的数printf("max = %d\n",ret);return 0;}
三种方法运算结果都如下:
我的分享就到这里,欢迎交流。
END:努力追寻自己想要的,何必在乎他人的眼光。