Considere el siguiente programa en C. ¿Qué imprime?
# include <stdio.h> # define swapl (a, b) tmp = a; a = b; b = tmp void swap2 ( int a, int b) { int tmp; tmp = a; a = b; b = tmp; } void swap3 (int*a, int*b) { int tmp; tmp = *a; *a = *b; *b = tmp; } int main () { int num1 = 5, num2 = 4, tmp; if (num1 < num2) {swap1 (num1, num2);} if (num1 < num2) {swap2 (num1 + 1, num2);} if (num1 >= num2) {swap3 (&num1, &num2);} printf ("%d, %d", num1, num2); } /* Add code here. Remove these lines if not writing code */
(A) 5, 5
(B) 5, 4
(C) 4, 5
(D) 4, 4
Respuesta: (C)
Explicación: declaración «if (num1 > = num2) {swap3 (&num1, &num2);}» es verdadero, por lo que se realizará la llamada por referencia.
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