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