Discussion :: Variable Number of Arguments
-
Point out the error in the program.
#include
#define MAX 128 int main() { char mybuf[] = "Fresher"; char yourbuf[] = "GATE"; char *const ptr = mybuf; *ptr = 'a'; ptr = yourbuf; return 0; }
A.
Error: unknown pointer conversion |
B.
Error: cannot convert ptr const value |
C.
No error |
D.
None of above |
Answer : Option B
Explanation :
Step 1: char mybuf[] = "Fresher"; The variable mybuff is declared as an array of characters and initialized with string "Fresher".
Step 2: char yourbuf[] = "GATE"; The variable yourbuf is declared as an array of characters and initialized with string "GATE".
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".
Be The First To Comment