Considere el siguiente programa en C:
#include #define EOF -1 void push (int); /* push the argument on the stack */ int pop (void); /* pop the top of the stack */ void flagError (); int main () { int c, m, n, r; while ((c = getchar ()) != EOF) { if (isdigit (c) ) push (c); else if ((c == '+') || (c == '*')) { m = pop (); n = pop (); r = (c == '+') ? n + m : n*m; push (r); } else if (c != ' ') flagError (); } printf("% c", pop ()); }
¿Cuál es la salida del programa para la siguiente entrada?
5 2 * 3 3 2 + * +
(A) 15
(B) 25
(C) 30
(D) 150
Respuesta: (B)
Explicación:
Esta solución es aportada por .
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA