c语言中,“(a> b)? a: b;

如题所述

C语言中,“(a>b)?a:b”和“(a<b)?b:a”的区别是当a与b相等时,前者的值是b,后者的值的是a。

条件运算符的表达式为“表达式1?表达式2:表达式3”,先求解表达式1,若其值为真(非0)则将表达式2的值作为整个表达式的取值,否则(表达式1的值为0)将表达式3的值作为整个表达式的取值。例如:

1、max=(a>b)?a:b

就是将a和b二者中较大的一个赋给max。

2、min=(a<b)?a:b

就是将a和b二者中较小的一个赋给min。

扩展资料:

条件运算符使用上的结合性:

条件运算符具有右结合性,当一个表达式中出现多个条件运算符时,应该将位于最右边的问号与离它最近的冒号配对,并按这一原则正确区分各条件运算符的运算对象。例如:

w<x ? x+w : x<y ? x : y

与 w<x ? x+w : ( x<y ? x : y) 等价

与 (w<x ? x+w : x<y) ? x : y 不等价

参考资料来源:百度百科-条件运算符

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-08-18
在C语言中,"(a > b) ? a : b" 是一个条件运算符(也称为三元运算符)的表达式。它的作用是根据条件(a > b)的结果,返回a或b中的一个值。
如果条件(a > b)为真(即a大于b),则整个表达式的结果为a;否则,结果为b。
#include <stdio.h>
int main() {
int a = 10;
int b = 5;
int result = (a > b) ? a : b;
printf("The result is: %d\n", result);
return 0;
}
在这个示例中,由于a大于b,所以条件(a > b)为真,结果为a的值(10)。因此,输出将是"The result is: 10"。如果a小于或等于b,那么结果将是b的值。
相似回答