¿Qué salida generará el segmento de código dado si:
La línea 1 se reemplaza por «auto int a = 1»;
La línea 2 se reemplaza por “registro int a = 2;” (GATE CS 2012)
(A) 3 1
4 1
4 2
(B) 4 2
6 1
6 1
(C) 4 2
6 2
2 0
(D) 4 2
4 2
2 0
Respuesta: (D)
Explicación: Si reemplazamos la línea 1 por “auto int a = 1;” y la línea 2 por «register int a = 2;», entonces ‘a’ se vuelve no estático en prtFun(). La salida del primer prtFun() sigue siendo la misma. Pero, la salida de la segunda llamada prtFun() cambia a medida que se crea una nueva instancia de ‘a’ en la segunda llamada. Entonces “4 2″ se imprime de nuevo. Finalmente, el printf() en main imprimirá “2 0″. Hacer que ‘a’ sea una variable de registro no cambiará nada en la salida.
Escriba comentarios si encuentra que alguna de las respuestas/explicaciones es incorrecta, o si desea compartir más información sobre los temas discutidos anteriormente.
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