三目运算符的作用,是代替 if 进行判断。
它的是由 (①) ? (②) : (③) 此三目构成,①代表你需要判断的语句,②代表判断成立的结论,③代表判断不成立的结论。
我们来看下面这段代码
int main() {
int a = 3;
int b = 5;
int max;
//看这里
max = a > b ? a : b;
//楼上代码等价于
//if ( a > b ) max = a;
//else max = b;
return 0;
}
他与if语句最大的不同,就在于它可以在判断完成后,直接返回一个数值,并把此值赋给其他参数。
练习:实现一个判断最大(小)值的函数
#include <stdio.h>
//比大小函数实现
int Find_Max(int x, int y) {
//此处是>就是返回大值,<就是返回小值
return x > y ? x : y;
}
//注:main()函数在一个C程序中只仅能存在一个。
//数组最大(小)值版本
int main() {
int arr[5] = { 1, 5, 6, 2, 8 };
int max = arr[0];
for (int i = 1; i < 5; i++) {
max = Find_Max(max, arr[i]);
}
printf("该数组最大值为 %d \n", max);
return 0;
}
//两个数最大(小)值比较
int main() {
int a = 5, b = 8;
int max = Find_max(a, b);
printf ("两个数中最大的数为 %d ", max);
return 0;
}
绝对值函数:
#include <stdio.h>
int abs(int x) {
return x > 0 ? x : -x;
}
int main() {
int a = -5;
a = abs(a);
printf("a的绝对值为 %d \n", a);
return 0;
}