[ Foro de C ]

Operador lógico OR

06-Oct-2022 16:40
Invitado (Chris)
1 Respuestas

¡Hola!

Estaba desarrollando un programa en el que, introducido un número, indique si termina en 2 o 3.

Por lo tanto, escribí algo tal que así:

int n;

printf("Introduzca un número entre 1 y 99: ");
scanf("%d", &n);

if((n%10)==(2||3)){
printf("El número termina en 2 o 3");
}
else){
printf("El número no termina en 2 o 3");
}

Sin embargo, no funciona bien. Detecta únicamente que los números terminados en 1 cumplen la condición if((n%10)==(2||3)), lo cual es falso. Entiendo que el error está ahí, pero ¿cuál es?

Muchas gracias.


07-Oct-2022 07:53
Nacho Cabanes (+84)

Efectivamente, el error está ahí. No puedes enlazar dos valores, sino dos condiciones: if ((n%10 == 2) || (n%10 == 3))...






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)