Para saber cuál es la salida de este programa, no solo debe analizarse la función invocada, sino también la invocación.
Click aquí para desplegar la solución. 👈
La respuesta es "impar".
✏️ Esto es así debido al preincremento de la variable, ya que el operador ++ colocado delante de la variable hace que primero se ejecute el incremento y luego se resuelva la expresión, que en este caso es una llamada a función. Entonces, a la función se le envía el valor 11, el cual es impar (por eso, al dividirlo por 2 y quedarse con el resto, da 1 y es distinto de 0, lo que hace que la función retorne false).
Desafío C++ 👇
Click aquí para una versión accesible de la infografía (apta para lectores electrónicos)
¿Qué imprime este programa y por qué?
#include <iostream>
bool paridad(int a) {
return a%2 == 0;
}
int main() {
int a = 10;
if (paridad(++a))
std::cout << "par";
else
std::cout << "impar";
}