c中只有一个三目运算符,也就是说看完我这篇博客就把c中所有的三目运算符都掌握了,哈哈
公式:表达式1>表达式2?表达式3:表达式4
a>b?a:b 等价于:
if(a>b) return a; else if(a<b) return b;
表达式3和表达式4可以是任何东西。如:a>b?5:6 也是可以的
上面的内容掌握后,下面用三目运算符求最大最小就很容易够以理解了。
#include<stdio.h>
int min(int a,int b,int c)
{
int z;
z = a > b ? (b > c ? c : b) : (a > c ? c : a);
}
int max(int a, int b, int c)
{
int z;
z = a > b ? (b > c ? a : (a > c ? a : c)) : (a > c ? b : (b > c ? b : c));
}
int middle(int a, int b, int c)
{
int z;
z = a > b ? (b > c ? b : (a > c ? c : a)) : (a > c ? a : (b > c ? c : b));
}
int main()
{
int a, b, c;
while (scanf("%d %d %d", &a, &b, &c) == 3)
{
printf("最小的数是:%d", min(a, b, c));
printf("最大的数是:%d", max(a, b, c));
printf("中间的数是:%d", middle(a, b, c));
}
}