Home » C Programming » Constants

Point out the error in the program. #include #define MAX 128 int main() { char mybuf[] = "India"; char yourbuf[] = "CURIOUSTAB"; char *const ptr = mybuf; *ptr = 'a'; ptr = yourbuf; return 0; }

Correct Answer: Error: cannot convert ptr const value

Explanation:

Step 1: char mybuf[] = "India"; The variable mybuff is declared as an array of characters and initialized with string "India".


Step 2: char yourbuf[] = "CURIOUSTAB"; The variable yourbuf is declared as an array of characters and initialized with string "CURIOUSTAB".


Step 3: char *const ptr = mybuf; Here, ptr is a constant pointer, which points at a char.


The value at which ptr it points is not a constant; it will not be an error to modify the pointed character; There will be an error only to modify the pointer itself.


Step 4: *ptr = 'a'; The value of ptr is assigned to 'a'.


Step 5: ptr = yourbuf; Here, we are changing the pointer itself, this will result in the error "cannot modify a const object".


← Previous Question

More Questions from Constants

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion