PUERTA | GATE-CS-2017 (Conjunto 1) | Pregunta 55

Considere el siguiente programa en C.

 #include <stdio.h>
#include <string.h>

void printlength (char *s, char *t)
{ 
  unsigned int c = 0;
  int len = ((strlen (s) - strlen (t)) > c) ? strlen (s) : strlen (t);
  printf("%d\n", len);
}

void main()
{ 
  char *x = "abc";
  char *y = "defgh";
  printlength(x, y);
}

Recuerde que strlen se define en string.h como que devuelve un valor de tipo size_t , que es un int sin signo

.
La salida del programa es _________.

Nota: Estas preguntas aparecieron como tipo de respuesta numérica.
(A) 2
(B) 3
(C) 4
(D) 5

Respuesta: (B)
Explicación: ((strlen(s) – strlen(t)) > c) ? corriente (s) : corriente (t)
= (3 – 5 > 0)
= (-2 > 0)

El punto importante aquí es que al comparar -2 con c, el resultado será un número positivo ya que c no tiene signo. Entonces, de estos dos, se imprimirán strlen (s). Por lo tanto, la opción B es correcta.

Consulte el código para obtener aclaraciones: https://ide.geeksforgeeks.org/hDPNVE
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 *