PUERTA | PUERTA CS Simulacro 2018 | Juego 2 | Pregunta 47

¿Qué sucederá cuando compilemos y ejecutemos el siguiente fragmento de programa en C?

#include "stdio.h"
int main()
{
 int a = 10;
 int b = 15;
  
 printf("=%d",(a+1),(b=a+2));
 printf(" %d=",b);
  
 return 0;
}

(A) =11 15=
(B) =11 12=
(C) Error del compilador debido a (b=a+2) en el primer printf().
(D) No hay error de compilación pero la salida sería =11 X= donde X dependería de la implementación del compilador.

Respuesta: (B)
Explicación: Según el estándar C11 de C, todos los argumentos de printf() se evalúan independientemente de si se imprimen o no. Es por eso que (b=a+2) también se evaluaría y el valor de b sería 12 después del primer printf(). Es por eso que la respuesta correcta es B.
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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *