Prediga la salida del siguiente programa. Suponga que los caracteres se representan mediante valores ASCII.
#include <stdio.h> #define VAL 32 int main() { char arr[] = "geeksquiz"; *(arr + 0) &= ~VAL; *(arr + 5) &= ~VAL; printf("%s", arr); return 0; }
(A) GeeksQuiz
(B) geeksQuiz
(C) Geeksquiz
(D) geeksquiz
(E) Garbage eeks Garbage uiz
Respuesta: (A)
Explicación: El quid de la pregunta radica en la afirmación: *(arr + 5) &= ~VAL ;
Esta declaración resta 32 del valor ascii de un carácter en minúscula y, por lo tanto, lo convierte en mayúscula. Esta es otra forma de convertir un alfabeto a mayúsculas restableciendo su bit posicionado en el valor 32, es decir, el quinto bit del LSB (suponiendo que el bit LSB esté en la posición 0).
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