¿Qué imprime el siguiente fragmento de programa C?
char c[] = "GATE2011"; char *p =c; printf("%s", p + p[3] - p[1]) ;
(A) GATE2011
(B) E2011
(C) 2011
(D) 011
Respuesta: (C)
Explicación: Consulte los comentarios para obtener una explicación.
char c[] = "GATE2011"; // p now has the base address string "GATE2011" char *p = c; // p[3] is 'E' and p[1] is 'A'. // p[3] - p[1] = ASCII value of 'E' - ASCII value of 'A' = 4 // So the expression p + p[3] - p[1] becomes p + 4 which is // base address of string "2011" printf("%s", p + p[3] - p[1]); // prints 2011
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