C | Pointer Basics | Question 8

int main()
{
 char *ptr = "GeeksQuiz";
 printf("%c\n", *&*&*ptr);
 return 0;
}

(A) Compiler Error
(B) Garbage Value
(C) Runtime Error
(D) G


Answer: (D)

Explanation: The operator * is used for dereferencing and the operator & is used to get the address. These operators cancel out effect of each other when used one after another. We can apply them alternatively any no. of times. In the above code, ptr is a pointer to first character of string g. *ptr gives us g, &*ptr gives address of g, *&*ptr again g, &*&*ptr address of g, and finally *&*&*ptr gives ‘g’

Now try below

int main()
{
 char *ptr = "GeeksQuiz";
 printf("%s\n", *&*&ptr);
 return 0;
}


Quiz of this Question




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

Recommended Posts:



1 Average Difficulty : 1/5.0
Based on 1 vote(s)