#include <stdio.h> void my_toUpper(char* str, int index) { *(str + index) &= ~32; } int main() { char* arr = "geeksquiz"; my_toUpper(arr, 0); my_toUpper(arr, 5); printf("%s", arr); return 0; }
(A) GeeksQuiz
(B) geeksquiz
(C) Depende del compilador
Respuesta: (C)
Explicación: La memoria para la string arr se asigna en el área de solo lectura/escritura de la sección de datos. La elección depende del compilador. En la versión más reciente de los compiladores, la memoria se asigna en la sección de solo lectura del área de datos. Por lo tanto, cualquier modificación en la string no es posible.
En compiladores de versiones anteriores como Turbo-C, la modificación es posible.
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