C | String | Question 10

filter_none

edit
close

play_arrow

link
brightness_4
code

#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;
}

chevron_right


(A) GeeksQuiz
(B) geeksquiz
(C) Compiler dependent


Answer: (C)

Explanation: The memory for the string arr is allocated in the read/write only area of data section. The choice is compiler dependent. In the newer version of compilers, the memory is allocated in the read only section of the data area. So any modification in the string is not possible.
In older version compilers like Turbo-C, modification is possible.

Quiz of this Question



My Personal Notes arrow_drop_up


Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.