Firstly it needs to be:
char arr[] = "gatesquiz"
char *arr = "gatesquiz" would result in segfault because in my_toUpper(), arr gets modified.
Coming to the question, the answer would be option A - "GatesQuiz".
Explanation:
Ascii value of 'a': 0110 0001
Ascii value of 'A': 0100 0001
Note that the only bit that is different is 5th bit. 'a' has 5th bit set, while 'A' has it off.
So to convert lower-case to upper case, we need to turn off only the 5th bit, ie, AND with ~2^5, ie, ~32.