Hola! Quizás sea una Duda estúpida, Pero estoy haciendo un programa para calcular Operaciones combinadas, Que son las que llevan {} () []. PERO Ocurrió algo al probarla, y es que me perdí en el orden para realizarla xd. Quiero decir, que intenté este problema:
-18 * (+6) + (-4) * 9
PERO el programa me dió esto: -1008. Y quedé en duda porque no debería haber dado -144???????
no debería haber resuelto primero el "-18 * (+6)", luego el "(-4) * 9" y sumar los 2 resultados?
Efectivamente, siguiendo el orden de preferencia de los operadores, el resultado debería ser -144 y no -1008.
Parece que tu programa hace las operaciones según las ve pues si haces: (-18 * 6 + (-4)) * 9 = -1008.
Obviamente, sin ver el código es imposible ayudarte más.
Cita de: K-YreX en 20 Octubre 2020, 23:12 PM
Efectivamente, siguiendo el orden de preferencia de los operadores, el resultado debería ser -144 y no -1008.
Parece que tu programa hace las operaciones según las ve pues si haces: (-18 * 6 + (-4)) * 9 = -1008.
Obviamente, sin ver el código es imposible ayudarte más.
oo muchas gracias, eso era todo xd
¿O sea que C o C++ hace las operaciones así sin tener en cuenta que * se aplica antes que +?
No, por defecto toma la precedencia de operadores correctamente.
Supongo que en este caso estaba implementando un algoritmo propio que replicase ese comportamiento.