Expresión condicional de C / C ++

¿La expresión condicional de C / C ++ usa un operador ternario? : Completo, se puede reemplazar con la declaración if else en las condiciones adecuadas.
La ventaja de la expresión condicional es que puede devolver directamente el resultado de la operación de expresión.

El uso de expresiones condicionales se divide en tres partes, los ejemplos son los siguientes:

c ? a : b;

Donde c es la condición de juicio, y ayb pueden ser valores o fórmulas específicos.
La expresión primero juzga c. Si el resultado del juicio de c no es 0 (o verdadero), se devuelve el valor de a o el resultado de la operación; si el resultado del juicio de c es 0 (o falso), se devuelve el valor de bo el resultado de la operación. como sigue:

a, b son valores específicos:

a > b ? a : b;

ayb son fórmulas de cálculo:

a > b ? (a - b) : (b - a);

Programa de muestra:
encuentre el máximo de dos números:

#include <stdio.h>

int main() {
    
    
	int a, b, max;
	
	scanf("%d%d", &a, &b);
	
	max = a > b ? a : b;
	
	printf("%d", max);
	
	return 0;
} 

Equivalente a

#include <stdio.h>

int main() {
    
    
	int a, b, max;
	
	scanf("%d%d", &a, &b);
	
	if (a > b) {
    
    
		max = a;	
	} else {
    
    
		max = b;	
	}
	
	printf("%d", max);
	
	return 0;
} 

Programa de muestra:
Encuentre la diferencia entre dos números, el resultado es siempre el número grande menos el número pequeño

#include <stdio.h>

int main() {
    
    
	int a, b, res;
	
	scanf("%d%d", &a, &b);
	
	res = a > b ? (a - b) : (b - a);
	
	printf("%d", res);
	
	return 0;
} 

Equivalente a

#include <stdio.h>

int main() {
    
    
	int a, b, res;
	
	scanf("%d%d", &a, &b);
	
	if (a > b) {
    
    
		res = a - b;
	} else {
    
    
		res = b - a;
	}
	
	printf("%d", res);
	
	return 0;
} 

También podemos generar la expresión directamente o devolverla como una función.

Expresión de salida directa:

#include <stdio.h>

int main() {
    
    
	int a, b;
	
	scanf("%d%d", &a, &b);
	
	printf("%d", a > b ? a : b);
	
	return 0;
}

Expresión como valor de retorno de función:

#include <stdio.h>

int getMax(int a, int b) {
    
    
	
	return a > b ? a : b;
} 

int main() {
    
    
	int a, b, max;
	
	scanf("%d%d", &a, &b);
	
	max = getMax(a, b);
	
	printf("%d", max);
	
	return 0;
}

completar.

Supongo que te gusta

Origin blog.csdn.net/weixin_45711556/article/details/108720782
Recomendado
Clasificación