Estudia el siguiente programa:
//precondition: x>=0 public void demo(int x) { System.out.print(x % 10); if (x % 10 != 0) { demo(x/10); } System.out.print(x%10); }
¿Cuál de los siguientes se imprime como resultado de la llamada de demostración (1234)?
(A) 1441
(B) 3443
(C) 12344321
(D) 43211234
Respuesta: (D)
Explicación: En el código anterior, se ejecuta la primera declaración de impresión e imprime el valor obtenido después de realizar el módulo de 10 y recursivamente se llama a otra función con el valor dividido por 10. Y tras el retorno de la función, vuelve a imprimir los valores.
demo(1234)
imprime 4 call demo(123)
imprime 3 call demo(12)
imprime 2 call demo(1)
imprime 1 call demo (0)
imprime 1 imprime 2 imprime 3 imprime 4.
Entonces, la opción (D) es correcta.
Cuestionario de esta pregunta
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